kaori 4 лет назад
Родитель
Сommit
e94479f39a

+ 15 - 10
src/client/js/components/Admin/SlackIntegration/CustomBotWithProxySettings.jsx

@@ -17,6 +17,7 @@ const CustomBotWithProxySettings = (props) => {
   } = props;
   const [newProxyServerUri, setNewProxyServerUri] = useState();
   const [integrationIdToDelete, setIntegrationIdToDelete] = useState(null);
+  // const [integrationIdToRegenerateTokens, setIntegrationIdToRegenerateTokens] = useState(null);
   const { t } = useTranslation();
 
   useEffect(() => {
@@ -50,15 +51,18 @@ const CustomBotWithProxySettings = (props) => {
     }
   };
 
-  const regenerateTokensHandler = async(tokenGtoP, tokenPtoG) => {
-    try {
-      await appContainer.apiv3.put('/slack-integration-settings/access-tokens', { tokenGtoP, tokenPtoG });
-    }
-    catch (err) {
-      toastError(err);
-      logger.error(err);
-    }
-  };
+  // const regenerateTokensHandler = async(integrationId) => {
+  //   console.log('regenerateTokensHandler in cbwp');
+  //   try {
+  //     await appContainer.apiv3.put('/slack-integration-settings/access-tokens', { integrationId });
+  //     fetchSlackIntegrationData();
+  //     toastSuccess(t('toaster.update_successed', { target: 'Token' }));
+  //   }
+  //   catch (err) {
+  //     toastError(err);
+  //     logger.error(err);
+  //   }
+  // };
 
   const updateProxyUri = async() => {
     try {
@@ -130,7 +134,8 @@ const CustomBotWithProxySettings = (props) => {
               <WithProxyAccordions
                 botType="customBotWithProxy"
                 slackAppIntegrationId={slackAppIntegration._id}
-                onClickRegenerateTokensBtn={() => regenerateTokensHandler(tokenGtoP, tokenPtoG)}
+                // onClickRegenerateTokensBtn={regenerateTokensHandler(slackAppIntegration._id)}
+                fetchSlackIntegrationData={fetchSlackIntegrationData}
                 tokenGtoP={tokenGtoP}
                 tokenPtoG={tokenPtoG}
               />

+ 12 - 4
src/client/js/components/Admin/SlackIntegration/WithProxyAccordions.jsx

@@ -6,7 +6,7 @@ import { CopyToClipboard } from 'react-copy-to-clipboard';
 import loggerFactory from '@alias/logger';
 
 import { withUnstatedContainers } from '../../UnstatedUtils';
-import { toastSuccess } from '../../../util/apiNotification';
+import { toastSuccess, toastError } from '../../../util/apiNotification';
 import AppContainer from '../../../services/AppContainer';
 import Accordion from '../Common/Accordion';
 
@@ -76,10 +76,17 @@ const RegisteringProxyUrlProcess = () => {
 
 const GeneratingTokensAndRegisteringProxyServiceProcess = withUnstatedContainers((props) => {
   const { t } = useTranslation();
+  const { appContainer, slackAppIntegrationId, fetchSlackIntegrationData } = props;
 
-  const regenerateTokensHandler = () => {
-    if (props.onClickRegenerateTokensBtn != null) {
-      props.onClickRegenerateTokensBtn();
+  const regenerateTokensHandler = async() => {
+    try {
+      await appContainer.apiv3.put('/slack-integration-settings/access-tokens', { slackAppIntegrationId });
+      // fetchSlackIntegrationData();
+      toastSuccess(t('toaster.update_successed', { target: 'Token' }));
+    }
+    catch (err) {
+      toastError(err);
+      logger.error(err);
     }
   };
 
@@ -251,6 +258,7 @@ const WithProxyAccordions = (props) => {
       content: <GeneratingTokensAndRegisteringProxyServiceProcess
         growiUrl={props.appContainer.config.crowi.url}
         onClickRegenerateTokensBtn={() => props.onClickRegenerateTokensBtn}
+        slackAppIntegrationId={props.slackAppIntegrationId}
         tokenPtoG={props.tokenPtoG}
         tokenGtoP={props.tokenGtoP}
       />,

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

@@ -392,13 +392,13 @@ module.exports = (crowi) => {
   // TODO: add swagger
   router.put('/access-tokens', loginRequiredStrictly, adminRequired, csrf, async(req, res) => {
 
-    const { tokenGtoP, tokenPtoG } = req.body;
+    const { slackAppIntegrationId } = req.body;
 
     try {
       const generateTokens = SlackAppIntegration.generateAccessToken();
       const newTokenGtoP = generateTokens[0];
       const newTokenPtoG = generateTokens[1];
-      await SlackAppIntegration.findOneAndUpdate({ tokenGtoP, tokenPtoG }, { tokenGtoP: newTokenGtoP, tokenPtoG: newTokenPtoG });
+      await SlackAppIntegration.findOneAndUpdate({ slackAppIntegrationId }, { tokenGtoP: newTokenGtoP, tokenPtoG: newTokenPtoG });
 
       return res.apiv3({});
     }