Explorar o código

Merge pull request #3708 from weseek/5882-PUT-error

5882 PUT /_api/v3/slack-integration-settings/custom-bot-without-proxy でのエラー表示の改善
深瀬スティーヴン %!s(int64=4) %!d(string=hai) anos
pai
achega
64c0b5a245

+ 10 - 7
src/client/js/components/Admin/SlackIntegration/CustomBotWithoutProxySettingsAccordion.jsx

@@ -67,17 +67,20 @@ const CustomBotWithoutProxySettingsAccordion = ({
     setConnectionErrorCode(null);
     setConnectionErrorCode(null);
     setConnectionErrorMessage(null);
     setConnectionErrorMessage(null);
     setConnectionSuccessMessage(null);
     setConnectionSuccessMessage(null);
+    // TODO: 5921 Add new Test endpoint
     try {
     try {
-      const res = await appContainer.apiv3.post('/slack-integration-settings/notification-test-to-slack-work-space', {
-        channel: testChannel,
-      });
-      setConnectionSuccessMessage(res.data.message);
-      onSetIsSendTestMessage(true);
+      // eslint-disable-next-line no-console
+      console.log('Test');
+      // const res = await appContainer.apiv3.post('/slack-integration-settings/notification-test-to-slack-work-space', {
+      //   channel: testChannel,
+      // });
+      // setConnectionSuccessMessage(res.data.message);
+      // onSetIsSendTestMessage(true);
     }
     }
     catch (err) {
     catch (err) {
       onSetIsSendTestMessage(false);
       onSetIsSendTestMessage(false);
-      setConnectionErrorCode(err[0].code);
-      setConnectionErrorMessage(err[0].message);
+      setConnectionErrorCode('dummy-error-code');
+      setConnectionErrorMessage('This is a sample error message');
     }
     }
   };
   };
 
 

+ 8 - 22
src/client/js/components/Admin/SlackIntegration/SlackIntegration.jsx

@@ -26,42 +26,28 @@ const SlackIntegration = (props) => {
   const [isSendTestMessage, setIsSendTestMessage] = useState(false);
   const [isSendTestMessage, setIsSendTestMessage] = useState(false);
   const [slackWSNameInWithoutProxy, setSlackWSNameInWithoutProxy] = useState(null);
   const [slackWSNameInWithoutProxy, setSlackWSNameInWithoutProxy] = useState(null);
 
 
-  const fetchSlackWorkSpaceNameInWithoutProxy = useCallback(async() => {
-
-    try {
-      const res = await appContainer.apiv3.get('/slack-integration-settings/custom-bot-without-proxy/slack-workspace-name');
-      setSlackWSNameInWithoutProxy(res.data.slackWorkSpaceName);
-    }
-    catch (err) {
-      if (err[0].message === 'missing_scope') {
-        setSlackWSNameInWithoutProxy(null);
-        toastError(err, t('admin:slack_integration.set_scope'));
-      }
-      else {
-        toastError(err);
-      }
-    }
-  }, [appContainer.apiv3, t]);
-
   const fetchSlackIntegrationData = useCallback(async() => {
   const fetchSlackIntegrationData = useCallback(async() => {
     try {
     try {
-      const response = await appContainer.apiv3.get('/slack-integration-settings');
-      const { currentBotType, customBotWithoutProxySettings } = response.data.slackBotSettingParams;
+      const { data } = await appContainer.apiv3.get('/slack-integration-settings');
       const {
       const {
         slackSigningSecret, slackBotToken, slackSigningSecretEnvVars, slackBotTokenEnvVars,
         slackSigningSecret, slackBotToken, slackSigningSecretEnvVars, slackBotTokenEnvVars,
-      } = customBotWithoutProxySettings;
+      } = data.settings;
+
+      if (data.connectionStatuses != null) {
+        const { workspaceName } = data.connectionStatuses[slackBotToken];
+        setSlackWSNameInWithoutProxy(workspaceName);
+      }
 
 
       setCurrentBotType(currentBotType);
       setCurrentBotType(currentBotType);
       setSlackSigningSecret(slackSigningSecret);
       setSlackSigningSecret(slackSigningSecret);
       setSlackBotToken(slackBotToken);
       setSlackBotToken(slackBotToken);
       setSlackSigningSecretEnv(slackSigningSecretEnvVars);
       setSlackSigningSecretEnv(slackSigningSecretEnvVars);
       setSlackBotTokenEnv(slackBotTokenEnvVars);
       setSlackBotTokenEnv(slackBotTokenEnvVars);
-      fetchSlackWorkSpaceNameInWithoutProxy();
     }
     }
     catch (err) {
     catch (err) {
       toastError(err);
       toastError(err);
     }
     }
-  }, [appContainer.apiv3, fetchSlackWorkSpaceNameInWithoutProxy]);
+  }, [appContainer.apiv3, currentBotType]);
 
 
 
 
   useEffect(() => {
   useEffect(() => {

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

@@ -214,35 +214,5 @@ module.exports = (crowi) => {
       }
       }
     });
     });
 
 
-  /**
-   * @swagger
-   *
-   *    /slack-integration/custom-bot-without-proxy/slack-workspace-name:
-   *      get:
-   *        tags: [slackWorkSpaceName]
-   *        operationId: getSlackWorkSpaceName
-   *        summary: Get slack work space name for custom bot without proxy
-   *        description: get slack WS name in custom bot without proxy
-   *        responses:
-   *          200:
-   *            description: Succeeded to get slack ws name for custom bot without proxy
-   */
-  router.get('/custom-bot-without-proxy/slack-workspace-name', loginRequiredStrictly, adminRequired, async(req, res) => {
-
-    try {
-      const slackWorkSpaceName = await crowi.slackBotService.getSlackChannelName();
-      return res.apiv3({ slackWorkSpaceName });
-    }
-    catch (error) {
-      let msg = 'Error occured in slack_bot_token';
-      if (error.data.error === 'missing_scope') {
-        msg = 'missing_scope';
-      }
-      logger.error('Error', error);
-      return res.apiv3Err(new ErrorV3(msg, 'get-SlackWorkSpaceName-failed'), 500);
-    }
-
-  });
-
   return router;
   return router;
 };
 };