0
0
mirror of https://github.com/naturalcrit/homebrewery.git synced 2025-12-24 18:32:41 +00:00

Fixing delete buttons

Delete should now first remove the current user as an editor, and only delete the file if he was the last editor. Currently, anyone who views your brew is added as an editor and if they delete it, the whole brew is deleted for everyone.
This commit is contained in:
Trevor Buckner
2019-02-07 16:36:32 -05:00
parent 14f721d209
commit d18bd500b1

View File

@@ -67,11 +67,26 @@ router.put('/api/update/:id', (req, res)=>{
router.get('/api/remove/:id', (req, res)=>{
HomebrewModel.find({ editId: req.params.id }, (err, objs)=>{
if(!objs.length || err) return res.status(404).send('Can not find homebrew with that id');
const resEntry = objs[0];
resEntry.remove((err)=>{
if(err) return res.status(500).send('Error while removing');
return res.status(200).send();
});
const brew = objs[0];
// Remove current user as author
if(req.account){
brew.authors = _.pull(brew.authors, req.account.username);
brew.markModified('authors');
}
// Delete brew if there are no authors left
if(!brew.authors.length)
brew.remove((err)=>{
if(err) return res.status(500).send('Error while removing');
return res.status(200).send();
});
// Otherwise, save the brew with updated author list
else
brew.save((err, savedBrew)=>{
if(err) throw err;
return res.status(200).send(savedBrew);
});
});
});
@@ -127,4 +142,4 @@ module.exports = function(app){
return app;
}
*/
*/