feat: add card membership to webhook

pull/771/head
HannesOberreiter 2 years ago
parent 5a11d563bc
commit 7457ddf0b5

@ -45,7 +45,7 @@ module.exports = {
async fn(inputs) { async fn(inputs) {
const { currentUser } = this.req; const { currentUser } = this.req;
const { card } = await sails.helpers.cards const { card, board } = await sails.helpers.cards
.getProjectPath(inputs.cardId) .getProjectPath(inputs.cardId)
.intercept('pathNotFound', () => Errors.CARD_NOT_FOUND); .intercept('pathNotFound', () => Errors.CARD_NOT_FOUND);
@ -74,6 +74,7 @@ module.exports = {
card, card,
userId: inputs.userId, userId: inputs.userId,
}, },
board,
request: this.req, request: this.req,
}) })
.intercept('userAlreadyCardMember', () => Errors.USER_ALREADY_CARD_MEMBER); .intercept('userAlreadyCardMember', () => Errors.USER_ALREADY_CARD_MEMBER);

@ -39,7 +39,7 @@ module.exports = {
async fn(inputs) { async fn(inputs) {
const { currentUser } = this.req; const { currentUser } = this.req;
const { board } = await sails.helpers.cards const { board, card } = await sails.helpers.cards
.getProjectPath(inputs.cardId) .getProjectPath(inputs.cardId)
.intercept('pathNotFound', () => Errors.CARD_NOT_FOUND); .intercept('pathNotFound', () => Errors.CARD_NOT_FOUND);
@ -67,6 +67,7 @@ module.exports = {
cardMembership = await sails.helpers.cardMemberships.deleteOne.with({ cardMembership = await sails.helpers.cardMemberships.deleteOne.with({
board, board,
card,
record: cardMembership, record: cardMembership,
request: this.req, request: this.req,
}); });

@ -21,6 +21,10 @@ module.exports = {
custom: valuesValidator, custom: valuesValidator,
required: true, required: true,
}, },
board: {
type: 'ref',
required: true,
},
request: { request: {
type: 'ref', 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; return cardMembership;
}, },
}; };

@ -4,6 +4,10 @@ module.exports = {
type: 'ref', type: 'ref',
required: true, required: true,
}, },
card: {
type: 'ref',
required: true,
},
board: { board: {
type: 'ref', type: 'ref',
required: true, 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; return cardMembership;

@ -7,6 +7,9 @@ const EVENT_TYPES = {
CARD_UPDATE: 'card_update', CARD_UPDATE: 'card_update',
CARD_DELETE: 'card_delete', CARD_DELETE: 'card_delete',
CARD_MEMBERSHIP_CREATE: 'card_membership_create',
CARD_MEMBERSHIP_DELETE: 'card_membership_delete',
LIST_CREATE: 'list_create', LIST_CREATE: 'list_create',
LIST_UPDATE: 'list_update', LIST_UPDATE: 'list_update',
LIST_DELETE: 'list_delete', LIST_DELETE: 'list_delete',

Loading…
Cancel
Save