yusuketk 5 лет назад
Родитель
Сommit
f66c38b96f
2 измененных файлов с 17 добавлено и 16 удалено
  1. 10 9
      src/server/routes/apiv3/slack-bot.js
  2. 7 7
      src/server/service/bolt.js

+ 10 - 9
src/server/routes/apiv3/slack-bot.js

@@ -9,15 +9,16 @@ module.exports = (crowi) => {
   const { boltService } = crowi;
   const requestHandler = boltService.receiver.requestHandler.bind(boltService.receiver);
 
-  router.post('/', async(req, res) => {
-    try {
-      const response = await requestHandler(req.body) || null;
-      res.send(response);
-    }
-    catch (err) {
-      return res.apiv3Err(new ErrorV3(`Error:Slack-Bot:${err}`), 500);
-    }
-  });
+  router.post('/', requestHandler);
+  // router.post('/', async(req, res) => {
+  //   try {
+  //     const response = await requestHandler(req.body) || null;
+  //     res.send(response);
+  //   }
+  //   catch (err) {
+  //     return res.apiv3Err(new ErrorV3(`Error:Slack-Bot:${err}`), 500);
+  //   }
+  // });
 
   return router;
 };

+ 7 - 7
src/server/service/bolt.js

@@ -6,7 +6,7 @@ class BoltReciever {
     this.bolt = app;
   }
 
-  async requestHandler(body) {
+  async requestHandler(req, res) {
     if (this.bolt === undefined) {
       throw new Error('Slack Bot service is not setup');
     }
@@ -14,18 +14,18 @@ class BoltReciever {
     let ackCalled = false;
 
     // for verification request URL on Event Subscriptions
-    if (body.type === 'url_verification') {
-      return body;
+    if (req.body.type === 'url_verification') {
+      return req.body;
     }
 
-    const payload = body.payload;
+    const payload = req.body.payload;
     let reqBody;
 
     if (payload != null) {
       reqBody = JSON.parse(payload);
     }
     else {
-      reqBody = body;
+      reqBody = req.body;
     }
 
     const event = {
@@ -42,10 +42,10 @@ class BoltReciever {
           throw new Error(message);
         }
         else if (!response) {
-          return null;
+          res.send('');
         }
         else {
-          return response;
+          res.send(response);
         }
 
       },