diff --git a/server/api/controllers/card-memberships/create.js b/server/api/controllers/card-memberships/create.js index c5ee73f..9143cc9 100755 --- a/server/api/controllers/card-memberships/create.js +++ b/server/api/controllers/card-memberships/create.js @@ -45,7 +45,7 @@ module.exports = { async fn(inputs) { const { currentUser } = this.req; - const { card } = await sails.helpers.cards + const { card, board } = await sails.helpers.cards .getProjectPath(inputs.cardId) .intercept('pathNotFound', () => Errors.CARD_NOT_FOUND); @@ -74,6 +74,7 @@ module.exports = { card, userId: inputs.userId, }, + board, request: this.req, }) .intercept('userAlreadyCardMember', () => Errors.USER_ALREADY_CARD_MEMBER); diff --git a/server/api/controllers/card-memberships/delete.js b/server/api/controllers/card-memberships/delete.js index d210730..4b9d754 100755 --- a/server/api/controllers/card-memberships/delete.js +++ b/server/api/controllers/card-memberships/delete.js @@ -39,7 +39,7 @@ module.exports = { async fn(inputs) { const { currentUser } = this.req; - const { board } = await sails.helpers.cards + const { board, card } = await sails.helpers.cards .getProjectPath(inputs.cardId) .intercept('pathNotFound', () => Errors.CARD_NOT_FOUND); @@ -67,6 +67,7 @@ module.exports = { cardMembership = await sails.helpers.cardMemberships.deleteOne.with({ board, + card, record: cardMembership, request: this.req, }); diff --git a/server/api/helpers/card-memberships/create-one.js b/server/api/helpers/card-memberships/create-one.js index bb92b9f..52f1788 100644 --- a/server/api/helpers/card-memberships/create-one.js +++ b/server/api/helpers/card-memberships/create-one.js @@ -21,6 +21,10 @@ module.exports = { custom: valuesValidator, required: true, }, + board: { + type: 'ref', + required: true, + }, request: { type: 'ref', }, @@ -75,6 +79,15 @@ module.exports = { ); } + await sails.helpers.utils.sendWebhook.with({ + event: 'CARD_MEMBERSHIP_CREATE', + data: cardMembership, + projectId: inputs.board.projectId, + user: inputs.request.currentUser, + card: values.card, + board: inputs.board, + }); + return cardMembership; }, }; diff --git a/server/api/helpers/card-memberships/delete-one.js b/server/api/helpers/card-memberships/delete-one.js index 5ff6254..a4ed107 100644 --- a/server/api/helpers/card-memberships/delete-one.js +++ b/server/api/helpers/card-memberships/delete-one.js @@ -4,6 +4,10 @@ module.exports = { type: 'ref', required: true, }, + card: { + type: 'ref', + required: true, + }, board: { type: 'ref', required: true, @@ -40,6 +44,15 @@ module.exports = { }, }); } + + await sails.helpers.utils.sendWebhook.with({ + event: 'CARD_MEMBERSHIP_DELETE', + data: cardMembership, + projectId: inputs.board.projectId, + user: inputs.request.currentUser, + card: inputs.card, + board: inputs.board, + }); } return cardMembership; diff --git a/server/api/helpers/utils/send-webhook.js b/server/api/helpers/utils/send-webhook.js index 92e4e88..a33f7a8 100644 --- a/server/api/helpers/utils/send-webhook.js +++ b/server/api/helpers/utils/send-webhook.js @@ -7,6 +7,9 @@ const EVENT_TYPES = { CARD_UPDATE: 'card_update', CARD_DELETE: 'card_delete', + CARD_MEMBERSHIP_CREATE: 'card_membership_create', + CARD_MEMBERSHIP_DELETE: 'card_membership_delete', + LIST_CREATE: 'list_create', LIST_UPDATE: 'list_update', LIST_DELETE: 'list_delete',