zahmis %!s(int64=4) %!d(string=hai) anos
pai
achega
f1dca6157c
Modificáronse 1 ficheiros con 32 adicións e 0 borrados
  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
    * @swagger
    *
    *