Kaynağa Gözat

fetch slack integration dat

kaori 4 yıl önce
ebeveyn
işleme
be6023adfd

+ 9 - 1
src/client/js/components/Admin/SlackIntegration/CustomBotWithProxySettings.jsx

@@ -12,7 +12,9 @@ import DeleteSlackBotSettingsModal from './DeleteSlackBotSettingsModal';
 const logger = loggerFactory('growi:SlackBotSettings');
 
 const CustomBotWithProxySettings = (props) => {
-  const { appContainer, slackAppIntegrations, proxyServerUri } = props;
+  const {
+    appContainer, slackAppIntegrations, proxyServerUri, fetchSlackIntegrationData,
+  } = props;
   const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false);
   const { t } = useTranslation();
 
@@ -27,6 +29,11 @@ const CustomBotWithProxySettings = (props) => {
   const addSlackAppIntegrationHandler = async() => {
     try {
       await appContainer.apiv3.put('/slack-integration-settings/slack-app-integrations');
+
+      if (fetchSlackIntegrationData == null) {
+        return;
+      }
+      fetchSlackIntegrationData();
     }
     catch (err) {
       toastError(err);
@@ -175,6 +182,7 @@ CustomBotWithProxySettings.propTypes = {
 
   slackAppIntegrations: PropTypes.array,
   proxyServerUri: PropTypes.string,
+  fetchSlackIntegrationData: PropTypes.func,
 };
 
 export default CustomBotWithProxySettingsWrapper;

+ 11 - 2
src/client/js/components/Admin/SlackIntegration/OfficialBotSettings.jsx

@@ -12,7 +12,9 @@ import DeleteSlackBotSettingsModal from './DeleteSlackBotSettingsModal';
 const logger = loggerFactory('growi:SlackBotSettings');
 
 const OfficialBotSettings = (props) => {
-  const { appContainer, slackAppIntegrations, proxyServerUri } = props;
+  const {
+    appContainer, slackAppIntegrations, proxyServerUri, fetchSlackIntegrationData,
+  } = props;
   const [isDeleteConfirmModalShown, setIsDeleteConfirmModalShown] = useState(false);
   const { t } = useTranslation();
 
@@ -22,11 +24,17 @@ const OfficialBotSettings = (props) => {
     if (proxyServerUri != null) {
       setNewProxyServerUri(proxyServerUri);
     }
-  }, [proxyServerUri]);
+  }, [proxyServerUri, slackAppIntegrations]);
 
   const addSlackAppIntegrationHandler = async() => {
     try {
       await appContainer.apiv3.put('/slack-integration-settings/slack-app-integrations');
+
+      if (fetchSlackIntegrationData == null) {
+        return;
+      }
+      console.log('hige');
+      fetchSlackIntegrationData();
     }
     catch (err) {
       toastError(err);
@@ -176,6 +184,7 @@ OfficialBotSettings.propTypes = {
 
   slackAppIntegrations: PropTypes.array,
   proxyServerUri: PropTypes.string,
+  fetchSlackIntegrationData: PropTypes.func,
 };
 
 export default OfficialBotSettingsWrapper;

+ 14 - 2
src/client/js/components/Admin/SlackIntegration/SlackIntegration.jsx

@@ -124,7 +124,13 @@ const SlackIntegration = (props) => {
 
   switch (currentBotType) {
     case 'officialBot':
-      settingsComponent = <OfficialBotSettings slackAppIntegrations={slackAppIntegrations} proxyServerUri={proxyServerUri} />;
+      settingsComponent = (
+        <OfficialBotSettings
+          slackAppIntegrations={slackAppIntegrations}
+          proxyServerUri={proxyServerUri}
+          fetchSlackIntegrationData={fetchSlackIntegrationData}
+        />
+      );
       break;
     case 'customBotWithoutProxy':
       settingsComponent = (
@@ -145,7 +151,13 @@ const SlackIntegration = (props) => {
       );
       break;
     case 'customBotWithProxy':
-      settingsComponent = <CustomBotWithProxySettings slackAppIntegrations={slackAppIntegrations} proxyServerUri={proxyServerUri} />;
+      settingsComponent = (
+        <CustomBotWithProxySettings
+          slackAppIntegrations={slackAppIntegrations}
+          proxyServerUri={proxyServerUri}
+          fetchSlackIntegrationData={fetchSlackIntegrationData}
+        />
+      );
       break;
   }