itizawa 6 лет назад
Родитель
Сommit
cd86445b92

+ 1 - 1
src/client/js/components/Admin/MarkdownSetting/XssForm.jsx

@@ -23,7 +23,7 @@ class XssForm extends React.Component {
 
 
   async onClickSubmit() {
   async onClickSubmit() {
     try {
     try {
-      this.props.markDownSettingContainer.updateXssSetting();
+      await this.props.markDownSettingContainer.updateXssSetting();
       toastSuccess('Success update Xss setting');
       toastSuccess('Success update Xss setting');
     }
     }
     catch (err) {
     catch (err) {

+ 9 - 1
src/client/js/services/MarkDownSettingContainer.js

@@ -42,7 +42,15 @@ export default class MarkDownSettingContainer extends Container {
    * Update Xss Setting
    * Update Xss Setting
    */
    */
   async updateXssSetting() {
   async updateXssSetting() {
-    console.log('ここはContainer');
+
+    const response = await this.appContainer.apiv3.put('/markdown-setting/xss', {
+      'markdown:xss:isEnabledPrevention': this.state.isEnabledXss,
+      'markdown:xss:option': this.state.xssOption,
+      'markdown:xss:tagWhiteList': this.state.tagWhiteList,
+      'markdown:xss:attrWhiteList': this.state.attrWhiteList,
+    });
+
+    return response;
   }
   }
 
 
 }
 }

+ 16 - 0
src/server/routes/apiv3/markdown-setting.js

@@ -22,5 +22,21 @@ module.exports = (crowi) => {
     Config,
     Config,
   } = crowi.models;
   } = crowi.models;
 
 
+  // TODO swagger
+  router.put('/xss', loginRequiredStrictly, adminRequired, async(req, res) => {
+    const array = req.body;
+
+    try {
+      await crowi.configManager.updateConfigsInTheSameNamespace('markdown', array);
+      return res.apiv3({ array });
+    }
+    catch (err) {
+      const msg = 'Error occurred in updating xss';
+      logger.error('Error', err);
+      return res.apiv3Err(new ErrorV3(msg, 'update-xss-failed'));
+    }
+
+  });
+
   return router;
   return router;
 };
 };