negyedik gyakorlat + megoldasok
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
export class UserController {
|
||||
constructor(getMeHandler, getAllUsersHandler, getUserByIdHandler, updateProfileHandler) {
|
||||
this.getMeHandler = getMeHandler;
|
||||
this.getAllUsersHandler = getAllUsersHandler;
|
||||
this.getUserByIdHandler = getUserByIdHandler;
|
||||
this.updateProfileHandler = updateProfileHandler;
|
||||
}
|
||||
|
||||
async getMe(req, res, next) {
|
||||
try {
|
||||
const user = await this.getMeHandler.handle({ userId: req.user.id });
|
||||
res.json({
|
||||
success: true,
|
||||
data: user.toJSON()
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async getAllUsers(req, res, next) {
|
||||
try {
|
||||
const users = await this.getAllUsersHandler.handle({});
|
||||
res.json({
|
||||
success: true,
|
||||
data: users.map(u => u.toJSON())
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async getUserById(req, res, next) {
|
||||
try {
|
||||
const user = await this.getUserByIdHandler.handle({ userId: req.params.id });
|
||||
res.json({
|
||||
success: true,
|
||||
data: user.toJSON()
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async updateProfile(req, res, next) {
|
||||
try {
|
||||
const { name, email } = req.body;
|
||||
const user = await this.updateProfileHandler.handle({
|
||||
userId: req.user.id,
|
||||
name,
|
||||
email
|
||||
});
|
||||
res.json({
|
||||
success: true,
|
||||
message: 'Profile updated successfully',
|
||||
data: user.toJSON()
|
||||
});
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user