add me point to load user data of current user
This commit is contained in:
parent
fac606cf97
commit
e5b5d7e67d
12 changed files with 215 additions and 67 deletions
|
|
@ -3,13 +3,11 @@ import { UserController } from "../controllers/UserController.js";
|
|||
import { CreateUserRequestDto } from "../dtos/CreateUserRequestDto.js";
|
||||
import { UserRepository } from "../repositories/UserRepository.js";
|
||||
import { UserDtoEntityMapper } from "../mappers/UserDtoEntityMapper.js";
|
||||
import {
|
||||
ValidationError,
|
||||
ConflictError,
|
||||
NotFoundError,
|
||||
InternalServerError,
|
||||
} from "../errors/httpErrors.js";
|
||||
import { asyncHandler } from "../utils/asyncHandler.js";
|
||||
|
||||
/**
|
||||
* Handles all user related routes
|
||||
*/
|
||||
const router = Router();
|
||||
|
||||
// Inject repo + mapper here
|
||||
|
|
@ -17,22 +15,31 @@ const userRepository = new UserRepository();
|
|||
const userMapper = new UserDtoEntityMapper();
|
||||
const userController = new UserController(userRepository, userMapper);
|
||||
|
||||
router.post("/", async (req, res) => {
|
||||
try {
|
||||
/**
|
||||
* Create a new user
|
||||
*/
|
||||
router.post(
|
||||
"/",
|
||||
asyncHandler(async (req, res) => {
|
||||
const requestDto: CreateUserRequestDto = req.body;
|
||||
const responseDto = await userController.createUser(requestDto);
|
||||
res.status(201).json(responseDto);
|
||||
} catch (err: any) {
|
||||
if (err instanceof ValidationError ||
|
||||
err instanceof ConflictError ||
|
||||
err instanceof NotFoundError) {
|
||||
res.status(err.statusCode).json({ error: err.message });
|
||||
} else {
|
||||
console.error("Unexpected error:", err);
|
||||
const internalError = new InternalServerError("Some unexpected error occurred!");
|
||||
res.status(internalError.statusCode).json({ error: internalError.message });
|
||||
})
|
||||
);
|
||||
|
||||
/**
|
||||
* Get user data for current user
|
||||
*/
|
||||
router.get("/me",
|
||||
asyncHandler(async (req, res) => {
|
||||
|
||||
const id = req.currentUser?.id;
|
||||
if(id){
|
||||
// it breaks here because id is no longer a uuid
|
||||
const responseDto = await userController.getUserById(id);
|
||||
res.status(201).json(responseDto);
|
||||
}
|
||||
}
|
||||
});
|
||||
})
|
||||
);
|
||||
|
||||
export default router;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue