diff --git a/server/api/helpers/utils/send-message.js b/server/api/helpers/utils/send-message.js index 6063958..5c5e50e 100644 --- a/server/api/helpers/utils/send-message.js +++ b/server/api/helpers/utils/send-message.js @@ -38,20 +38,11 @@ function buildMessage(user, card, action) { */ const handleSlack = () => { const POST_MESSAGE_API_URL = 'https://slack.com/api/chat.postMessage'; - - function getTokens() { - if (!sails.config.custom.slackBotToken || !sails.config.custom.slackChannelId) { - return false; - } - return { - token: sails.config.custom.slackBotToken, - channel: sails.config.custom.slackChannelId, - }; - } + const TOKEN = sails.config.custom.slackBotToken; + const CHANNEL = sails.config.custom.slackChannelId; const send = async ({ action, user, card }) => { - const tokens = getTokens(); - if (!tokens) { + if (!TOKEN || !CHANNEL) { return; } @@ -63,7 +54,7 @@ const handleSlack = () => { } const data = { - channel: tokens.channel, + channel: CHANNEL, text: markdown, as_user: false, username: user.name, @@ -76,7 +67,7 @@ const handleSlack = () => { body: JSON.stringify(data), headers: { 'Content-Type': 'application/x-www-form-urlencoded', - Authorization: `Bearer ${tokens.token}`, + Authorization: `Bearer ${TOKEN}`, }, }); @@ -102,27 +93,23 @@ const handleSlack = () => { * @returns Object with send method */ const handleWebhook = () => { - function getWebhookUrl() { - return sails.config.custom.webhookUrl || false; - } + const URL = sails.config.custom.webhookUrl; + const TOKEN = sails.config.custom.webhookBearerToken; function buildHeaders() { - const bearer = sails.config.custom.webhookBearerToken || false; - const headers = { 'Content-Type': 'application/json', }; - if (bearer) { - headers.Authorization = `Bearer ${bearer}`; + if (TOKEN) { + headers.Authorization = `Bearer ${TOKEN}`; } return headers; } const send = async ({ action, user, card, board }) => { - const url = getWebhookUrl(); - if (!url) { + if (!URL) { return; } @@ -133,10 +120,11 @@ const handleWebhook = () => { action, board, card, + user: _.pick(user, ['id', 'name', 'avatarUrl', 'email']), }; try { - const response = await fetch(url, { + const response = await fetch(URL, { method: 'POST', headers: buildHeaders(), body: JSON.stringify(data),