Initial commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
const ResponseHandler = require('../shared/response.handler');
|
||||
|
||||
class GroupsController {
|
||||
constructor({ groupsService }) {
|
||||
this.groupsService = groupsService;
|
||||
}
|
||||
|
||||
async getAllGroups(req, res, next) {
|
||||
try {
|
||||
const groups = await this.groupsService.getAllGroups();
|
||||
return ResponseHandler.success(res, groups, 'Groups retrieved successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async getGroupById(req, res, next) {
|
||||
try {
|
||||
const group = await this.groupsService.getGroupById(req.params.id);
|
||||
return ResponseHandler.success(res, group, 'Group retrieved successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async createGroup(req, res, next) {
|
||||
try {
|
||||
const group = await this.groupsService.createGroup(req.body);
|
||||
return ResponseHandler.created(res, group, 'Group created successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async updateGroup(req, res, next) {
|
||||
try {
|
||||
const group = await this.groupsService.updateGroup(req.params.id, req.body);
|
||||
return ResponseHandler.success(res, group, 'Group updated successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async deleteGroup(req, res, next) {
|
||||
try {
|
||||
await this.groupsService.deleteGroup(req.params.id);
|
||||
return ResponseHandler.success(res, null, 'Group deleted successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async addMembers(req, res, next) {
|
||||
try {
|
||||
const group = await this.groupsService.addMembersToGroup(
|
||||
req.params.id,
|
||||
req.body.userIds
|
||||
);
|
||||
return ResponseHandler.success(res, group, 'Members added successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
|
||||
async removeMember(req, res, next) {
|
||||
try {
|
||||
const group = await this.groupsService.removeMemberFromGroup(
|
||||
req.params.id,
|
||||
req.params.userId
|
||||
);
|
||||
return ResponseHandler.success(res, group, 'Member removed successfully');
|
||||
} catch (error) {
|
||||
next(error);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = GroupsController;
|
||||
Reference in New Issue
Block a user