diff --git a/packages/component-user-manager/src/routes/fragmentsUsers/delete.js b/packages/component-user-manager/src/routes/fragmentsUsers/delete.js index 86073f5d5d467b23878dc792c088a86877c28e88..b39893eb77b350f0e1357bda51266ff4a1654063 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')