diff --git a/server/homebrew.api.js b/server/homebrew.api.js index e250de18a..4682f5987 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -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; } -*/ \ No newline at end of file +*/