Просмотр исходного кода

send notification like page update

sou 7 лет назад
Родитель
Сommit
293a3a0790
3 измененных файлов с 20 добавлено и 26 удалено
  1. 9 4
      lib/routes/comment.js
  2. 0 22
      lib/routes/slack.js
  3. 11 0
      lib/util/slack.js

+ 9 - 4
lib/routes/comment.js

@@ -3,9 +3,10 @@ module.exports = function(crowi, app) {
 
   const debug = require('debug')('growi:routs:comment')
     , Comment = crowi.model('Comment')
+    , User = crowi.model('User')
     , Page = crowi.model('Page')
     , ApiResponse = require('../util/apiResponse')
-    , slack = require('./slack')
+    , slack = require('../util/slack')
     , actions = {}
     , api = {};
 
@@ -70,12 +71,16 @@ module.exports = function(crowi, app) {
       });
 
     // update page
-    await Page.findOneAndUpdate({ _id: pageId }, {
+    const page = await Page.findOneAndUpdate({ _id: pageId }, {
       lastUpdateUser: req.user,
       updatedAt: new Date()
     });
-    const s = new slack('adsf');
-    await s.send();
+
+    //slack notification
+    const slackNotify = new slack(crowi);
+    const user = await User.findUserByUsername(req.user.username);
+    await slackNotify.post(page, user, 'general', 'comment', null);
+
     return res.json(ApiResponse.success({comment: createdComment}));
   };
 

+ 0 - 22
lib/routes/slack.js

@@ -1,22 +0,0 @@
-module.exports = function(text) {
-  const slackFunc = {};
-  slackFunc.send = function(text) {
-    const Slack = require('slack-node');
-
-    const webhookUri = 'https://hooks.slack.com/services/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 ';
-
-    const slack = new Slack();
-    slack.setWebhook(webhookUri);
-
-    slack.webhook({
-      channel: '#general',
-      username: 'Growi',
-      text: '`comment uploaded`'
-    }, function(err, response) {
-      console.log(response);
-    });
-    console.log('i\'m in: text is: ', text);
-  };
-
-  return slackFunc;
-};

+ 11 - 0
lib/util/slack.js

@@ -80,6 +80,14 @@ module.exports = function(crowi) {
     return diffText;
   };
 
+  const prepareAttachmentTextForComment = function(page, user, channel, updateType, previousRevision) {
+    return {
+      channel: '#general',
+      username: 'Growi',
+      text: '`comment uploaded`'
+    };
+  };
+
   const prepareSlackMessage = function(page, user, channel, updateType, previousRevision) {
     var url = config.crowi['app:url'] || '';
     var body = page.revision.body;
@@ -87,6 +95,9 @@ module.exports = function(crowi) {
     if (updateType == 'create') {
       body = prepareAttachmentTextForCreate(page, user);
     }
+    else if (updateType == 'comment') {
+      body = prepareAttachmentTextForComment(page, user);
+    }
     else {
       body = prepareAttachmentTextForUpdate(page, user, previousRevision);
     }