Completed group routes
This commit is contained in:
parent
c624effb0c
commit
60b5068f90
10 changed files with 77 additions and 20 deletions
15
TODO
15
TODO
|
|
@ -1,8 +1,3 @@
|
|||
Middleware:
|
||||
☐ Check group owner
|
||||
☐ Check if known user
|
||||
|
||||
|
||||
User:
|
||||
✔ Create user @done(22-03-06 13:02)
|
||||
✔ Update user @done(22-03-06 13:04)
|
||||
|
|
@ -15,17 +10,17 @@ User:
|
|||
Organization:
|
||||
✔ Create organization @started(22-03-05 16:24) @done(22-03-05 16:51) @lasted(27m13s)
|
||||
✔ Delete organization @started(22-03-05 17:04) @done(22-03-05 17:16) @lasted(12m)
|
||||
✔ Get organization @done(22-03-05 22:52)
|
||||
✔ Edit organization details @done(22-03-05 19:21)
|
||||
✔ Get organization @done(22-03-05 22:52)
|
||||
✔ Add people to organization @started(22-03-06 12:18) @done(22-03-06 12:34) @lasted(16m6s)
|
||||
✔ Remove people from organization @started(22-03-06 12:36) @done(22-03-06 12:37) @lasted(1m38s)
|
||||
|
||||
Groups:
|
||||
✔ Create group @started(22-03-05 16:09) @done(22-03-05 16:24) @lasted(15m4s)
|
||||
✔ Delete group @started(22-03-05 18:36) @done(22-03-05 18:53) @lasted(17m40s)
|
||||
☐ Get group
|
||||
☐ Edit group details
|
||||
☐ Add people to group
|
||||
☐ Remove people from group
|
||||
✔ Edit group details @done(22-03-06 13:39)
|
||||
✔ Get group @done(22-03-06 13:39)
|
||||
✔ Add people to group @done(22-03-06 13:45)
|
||||
✔ Remove people from group @done(22-03-06 13:45)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { User, Organization } = require('../../models/index');
|
||||
const { User, Organization } = require('../models/index');
|
||||
|
||||
async function GetOrg(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
const { User, Organization } = require('../../models/index');
|
||||
const { User, Organization } = require('../models/index');
|
||||
|
||||
async function checkKnownUser(req, res, next) {
|
||||
const user = req.user;
|
||||
|
|
|
|||
16
server/routes/group/AddGroupMember.js
Normal file
16
server/routes/group/AddGroupMember.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
async function AddOrgMember(req, res, next) {
|
||||
const user = req.user;
|
||||
const groupID = req.params.groupID;
|
||||
|
||||
const result = await user.getOwnedGroups({ where: { groupID: groupID } });
|
||||
|
||||
if (result.length == 0) {
|
||||
return res.status(500).send('No group exists with that id.');
|
||||
}
|
||||
|
||||
await result[0].addGroupMember(user);
|
||||
|
||||
return res.send('User added to group.');
|
||||
}
|
||||
|
||||
module.exports = AddOrgMember;
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
async function GetGroup(req, res, next) {
|
||||
const user = req.user;
|
||||
const groupID = req.params.groupID;
|
||||
|
||||
const result = await user.getOwnedGroups({ where: { groupID: groupID } });
|
||||
|
||||
if (result.length == 0) {
|
||||
return res.status(500).send('No group exists with that id.');
|
||||
}
|
||||
|
||||
return res.send(result[0]);
|
||||
}
|
||||
|
||||
module.exports = GetGroup;
|
||||
16
server/routes/group/RemoveGroupMember.js
Normal file
16
server/routes/group/RemoveGroupMember.js
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
async function RemoveOrgMember(req, res, next) {
|
||||
const user = req.user;
|
||||
const groupID = req.params.groupID;
|
||||
|
||||
const result = await user.getOwnedGroups({ where: { groupID: groupID } });
|
||||
|
||||
if (result.length == 0) {
|
||||
return res.status(500).send('No group exists with that id.');
|
||||
}
|
||||
|
||||
await result[0].removeGroupMember(user);
|
||||
|
||||
return res.send('User added to group.');
|
||||
}
|
||||
|
||||
module.exports = RemoveOrgMember;
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
async function UpdateOrgDetails(req, res, next) {
|
||||
const user = req.user;
|
||||
const groupID = req.params.groupID;
|
||||
const groupName = req.body.groupName;
|
||||
|
||||
if (!groupName) {
|
||||
return res.status(400).send('Form missing required information.');
|
||||
}
|
||||
|
||||
const result = await user.getOwnedGroups({ where: { groupID: groupID } });
|
||||
result.update({ groupName: groupName });
|
||||
|
||||
return res.send(result);
|
||||
}
|
||||
|
||||
module.exports = UpdateOrgDetails;
|
||||
|
|
@ -6,16 +6,16 @@ const checkKnownUser = require('../middleware/checkKnownUser');
|
|||
|
||||
const CreateGroup = require('./group/CreateGroup');
|
||||
const DeleteGroup = require('./group/DeleteGroup');
|
||||
// const UpdateGroupDetails = require('./group/UpdateGroupDetails');
|
||||
// const GetGroup = require('./group/GetGroup');
|
||||
// const AddGroupMember = require('./group/AddGroupMembers');
|
||||
// const RemoveGroupMember = require('./group/RemoveGroupMember');
|
||||
const UpdateGroupDetails = require('./group/UpdateGroupDetails');
|
||||
const GetGroup = require('./group/GetGroup');
|
||||
const AddGroupMember = require('./group/AddGroupMember');
|
||||
const RemoveGroupMember = require('./group/RemoveGroupMember');
|
||||
|
||||
router.post('/create', tokenAuth, CreateGroup);
|
||||
router.delete('/:groupID/delete', tokenAuth, DeleteGroup);
|
||||
// router.patch('/:groupID/update', tokenAuth, UpdateGroupDetails);
|
||||
// router.get('/:groupID', tokenAuth, GetGroup);
|
||||
// router.post('/:groupID/add', tokenAuth, checkKnownUser, AddGroupMember);
|
||||
// router.post('/:orgID/remove', tokenAuth, RemoveGroupMember);
|
||||
router.patch('/:groupID/update', tokenAuth, UpdateGroupDetails);
|
||||
router.get('/:groupID', tokenAuth, GetGroup);
|
||||
router.post('/:groupID/add', tokenAuth, checkKnownUser, AddGroupMember);
|
||||
router.post('/:orgID/remove', tokenAuth, RemoveGroupMember);
|
||||
|
||||
module.exports = router;
|
||||
|
|
|
|||
Reference in a new issue