add me point to load user data of current user

This commit is contained in:
Anika Raemer 2025-09-27 07:47:26 +02:00
parent fac606cf97
commit e5b5d7e67d
12 changed files with 215 additions and 67 deletions

View file

@ -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;