|
@@ -40,7 +40,7 @@ module.exports = (crowi) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
const validator = {
|
|
const validator = {
|
|
|
- CusotmBotWithoutProxy: [
|
|
|
|
|
|
|
+ CustomBotWithoutProxy: [
|
|
|
body('slackSigningSecret').isString(),
|
|
body('slackSigningSecret').isString(),
|
|
|
body('slackBotToken').isString(),
|
|
body('slackBotToken').isString(),
|
|
|
body('botType').isString(),
|
|
body('botType').isString(),
|
|
@@ -92,6 +92,41 @@ module.exports = (crowi) => {
|
|
|
return res.apiv3({ slackBotSettingParams });
|
|
return res.apiv3({ slackBotSettingParams });
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * @swagger
|
|
|
|
|
+ * /slack-integration/:
|
|
|
|
|
+ * put:
|
|
|
|
|
+ */
|
|
|
|
|
+ router.put('/',
|
|
|
|
|
+ accessTokenParser, loginRequiredStrictly, adminRequired, csrf, validator.CustomBotWithoutProxy, apiV3FormValidator, async(req, res) => {
|
|
|
|
|
+ const { slackSigningSecret, slackBotToken, botType } = req.body;
|
|
|
|
|
+
|
|
|
|
|
+ const requestParams = {
|
|
|
|
|
+ 'slackbot:signingSecret': slackSigningSecret,
|
|
|
|
|
+ 'slackbot:token': slackBotToken,
|
|
|
|
|
+ 'slackbot:type': botType,
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ await updateSlackBotSettings(requestParams);
|
|
|
|
|
+ // 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:type'),
|
|
|
|
|
+ };
|
|
|
|
|
+ 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'));
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ return router;
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* @swagger
|
|
* @swagger
|
|
|
*
|
|
*
|
|
@@ -112,7 +147,7 @@ module.exports = (crowi) => {
|
|
|
* description: Succeeded to put CustomBotWithoutProxy setting.
|
|
* description: Succeeded to put CustomBotWithoutProxy setting.
|
|
|
*/
|
|
*/
|
|
|
router.put('/custom-bot-without-proxy',
|
|
router.put('/custom-bot-without-proxy',
|
|
|
- accessTokenParser, loginRequiredStrictly, adminRequired, csrf, validator.CusotmBotWithoutProxy, apiV3FormValidator, async(req, res) => {
|
|
|
|
|
|
|
+ accessTokenParser, loginRequiredStrictly, adminRequired, csrf, validator.CustomBotWithoutProxy, apiV3FormValidator, async(req, res) => {
|
|
|
const { slackSigningSecret, slackBotToken, botType } = req.body;
|
|
const { slackSigningSecret, slackBotToken, botType } = req.body;
|
|
|
|
|
|
|
|
const requestParams = {
|
|
const requestParams = {
|