Browse Source

create endopoint get slack ws name in without

zahmis 5 years ago
parent
commit
1ec252d43c
1 changed files with 14 additions and 0 deletions
  1. 14 0
      src/server/routes/apiv3/slack-integration.js

+ 14 - 0
src/server/routes/apiv3/slack-integration.js

@@ -3,6 +3,7 @@ const loggerFactory = require('@alias/logger');
 const logger = loggerFactory('growi:routes:apiv3:notification-setting');
 const logger = loggerFactory('growi:routes:apiv3:notification-setting');
 const express = require('express');
 const express = require('express');
 const { body } = require('express-validator');
 const { body } = require('express-validator');
+const { WebClient } = require('@slack/web-api');
 
 
 const crypto = require('crypto');
 const crypto = require('crypto');
 const ErrorV3 = require('../../models/vo/error-apiv3');
 const ErrorV3 = require('../../models/vo/error-apiv3');
@@ -153,6 +154,19 @@ module.exports = (crowi) => {
       }
       }
     });
     });
 
 
+  router.get('/custom-bot-without-proxy-slack-workspace', async(req, res) => {
+    // get work space name from slackbot token
+    const slackBotToken = crowi.configManager.getConfig('crowi', 'slackbot:token');
+
+    let slackWorkSpaceName = null;
+    if (slackBotToken != null) {
+      const web = new WebClient(slackBotToken);
+      const slackTeamInfo = await web.team.info();
+      slackWorkSpaceName = slackTeamInfo.team.name;
+    }
+    return res.apiv3({ slackWorkSpaceName });
+  });
+
   /**
   /**
    * @swagger
    * @swagger
    *
    *