zahmis 4 лет назад
Родитель
Сommit
f1dca6157c
1 измененных файлов с 32 добавлено и 0 удалено
  1. 32 0
      src/server/routes/apiv3/slack-integration-settings.js

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

@@ -265,6 +265,38 @@ module.exports = (crowi) => {
       }
     });
 
+  router.put('/update-settings', async(req, res) => {
+    if (req.body.currentBotType === 'customBotWithoutProxy') {
+      const { slackSigningSecret, slackBotToken, currentBotType } = req.body;
+      const requestParams = {
+        'slackbot:signingSecret': slackSigningSecret,
+        'slackbot:token': slackBotToken,
+        'slackbot:currentBotType': currentBotType,
+      };
+      try {
+        await updateSlackBotSettings(requestParams);
+        crowi.slackBotService.publishUpdatedMessage();
+
+        // TODO Impl to delete AccessToken both of Proxy and GROWI when botType changes.
+        const customBotWithoutProxySettingParams = {
+          slackSigningSecret: crowi.configManager.getConfig('crowi', 'slackbot:signingSecret'),
+          slackBotToken: crowi.configManager.getConfig('crowi', 'slackbot:token'),
+          slackBotType: crowi.configManager.getConfig('crowi', 'slackbot:currentBotType'),
+        };
+        return res.apiv3({ customBotWithoutProxySettingParams });
+      }
+      catch (error) {
+        const msg = 'Error occured in updating Custom bot setting';
+        logger.error('Error', error);
+        return res.apiv3Err(new ErrorV3(msg, 'update-CustomBotSetting-failed'), 500);
+      }
+    }
+    else {
+      // TODO imple other botType action
+    }
+  });
+
+
   /**
    * @swagger
    *