1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-18 20:59:44 +02:00

added new custom service with slack integration helper functions; added axios package; added notifications for card create, delete, and update (move); added notifications for comment create

This commit is contained in:
Brad Bahls 2023-12-23 08:52:07 -07:00
parent fbd1b28312
commit b8ce112dc3
6 changed files with 110 additions and 0 deletions

View file

@ -1,4 +1,5 @@
const moment = require('moment');
const services = require('../../services/custom');
const Errors = {
NOT_ENOUGH_RIGHTS: {
@ -108,6 +109,12 @@ module.exports = {
})
.intercept('positionMustBeInValues', () => Errors.POSITION_MUST_BE_PRESENT);
const cardUrl = services.buildCardUrl(card);
const messageText = cardUrl + ' was created by ' + currentUser.username + ' in *' + list.name + '*';
services.sendSlackMessage(messageText)
.then(() => { console.log('Slack message sent successfully.'); })
.catch((error) => { console.error('Failed to send Slack message:', error.message); });
return {
item: card,
};

View file

@ -1,3 +1,5 @@
const services = require('../../services/custom');
const Errors = {
NOT_ENOUGH_RIGHTS: {
notEnoughRights: 'Not enough rights',
@ -54,6 +56,11 @@ module.exports = {
throw Errors.CARD_NOT_FOUND;
}
const messageText = '*' + card.name + '* was deleted by ' + currentUser.username;
services.sendSlackMessage(messageText)
.then(() => { console.log('Slack message sent successfully.'); })
.catch((error) => { console.error('Failed to send Slack message:', error.message); });
return {
item: card,
};

View file

@ -1,4 +1,5 @@
const moment = require('moment');
const services = require('../../services/custom');
const Errors = {
NOT_ENOUGH_RIGHTS: {
@ -175,6 +176,8 @@ module.exports = {
'isSubscribed',
]);
const cardPositionBefore = card.position;
card = await sails.helpers.cards.updateOne
.with({
board,
@ -195,6 +198,17 @@ module.exports = {
throw Errors.CARD_NOT_FOUND;
}
const cardPositionAfter = card.position;
const cardMoved = cardPositionBefore !== cardPositionAfter;
if (cardMoved) {
const cardUrl = services.buildCardUrl(card);
const messageText = cardUrl + ' was moved by ' + currentUser.username + ' to *' + nextList.name + '*';
services.sendSlackMessage(messageText)
.then(() => { console.log('Slack message sent successfully.'); })
.catch((error) => { console.error('Failed to send Slack message:', error.message); });
}
return {
item: card,
};

View file

@ -1,3 +1,5 @@
const services = require('../../services/custom');
const Errors = {
NOT_ENOUGH_RIGHTS: {
notEnoughRights: 'Not enough rights',
@ -63,6 +65,12 @@ module.exports = {
request: this.req,
});
const cardUrl = services.buildCardUrl(card);
const messageText = '*' + currentUser.username + '* commented on ' + cardUrl + ':\n>' + inputs.text;
services.sendSlackMessage(messageText)
.then(() => { console.log('Slack message sent successfully.'); })
.catch((error) => { console.error('Failed to send Slack message:', error.message); });
return {
item: action,
};