diff --git a/packages/component-invite/src/routes/fragmentsInvitations/post.js b/packages/component-invite/src/routes/fragmentsInvitations/post.js index 2eab3d2d1642e1aed6f2a9384bbf11b9058fd993..4442ae74c8b94459864bd373d114056d06dfd09c 100644 --- a/packages/component-invite/src/routes/fragmentsInvitations/post.js +++ b/packages/component-invite/src/routes/fragmentsInvitations/post.js @@ -11,6 +11,8 @@ const { const emailInvitations = require('./emails/invitations') +const { last } = require('lodash') + module.exports = models => async (req, res) => { const { email, role } = req.body @@ -40,6 +42,10 @@ module.exports = models => async (req, res) => { return res.status(400).json({ error: `Fragment ${fragmentId} does not match collection ${collectionId}.`, }) + if (last(collection.fragments) !== fragmentId) + return res.status(400).json({ + error: `Fragment ${fragmentId} is an older version.`, + }) fragment = await models.Fragment.find(fragmentId) } catch (e) { const notFoundError = await services.handleNotFoundError(e, 'item')