From 0b0239cdeded38927ed8ead2eb9ebb7c5db162f4 Mon Sep 17 00:00:00 2001 From: Sebastian Mihalache <sebastian.mihalache@gmail.con> Date: Thu, 28 Jun 2018 10:13:53 +0300 Subject: [PATCH] feat(component-user-manager): remove author from fragment on delete --- .../src/routes/fragmentsUsers/delete.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/component-user-manager/src/routes/fragmentsUsers/delete.js b/packages/component-user-manager/src/routes/fragmentsUsers/delete.js index 86073f5d5..b39893eb7 100644 --- a/packages/component-user-manager/src/routes/fragmentsUsers/delete.js +++ b/packages/component-user-manager/src/routes/fragmentsUsers/delete.js @@ -10,6 +10,7 @@ module.exports = models => async (req, res) => { return res.status(400).json({ error: `Fragment ${fragmentId} does not match collection ${collectionId}`, }) + const fragment = await models.Fragment.find(fragmentId) const teamHelper = new Team({ TeamModel: models.Team, fragmentId }) const team = await teamHelper.getTeam({ @@ -20,7 +21,12 @@ module.exports = models => async (req, res) => { await teamHelper.removeTeamMember({ teamId: team.id, userId }) user.teams = user.teams.filter(userTeamId => team.id !== userTeamId) delete user.passwordResetToken - await user.save() + user.save() + + fragment.authors = fragment.authors || [] + fragment.authors = fragment.authors.filter(author => author.id !== userId) + fragment.save() + return res.status(200).json({}) } catch (e) { const notFoundError = await services.handleNotFoundError(e, 'item') -- GitLab