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

+ 5 - 1
src/client/js/services/AdminCustomizeContainer.js

@@ -71,7 +71,11 @@ export default class AdminCustomizeContainer extends Container {
    * @return {string} Behavior
    */
   async updateCustomizeBehavior() {
-    // TODO GW-497 create apiV3
+    const response = await this.appContainer.apiv3.put('/customize-setting/behavior', {
+      behaviorType: this.state.currentBehavior,
+    });
+    const { customizedParams } = response.data;
+    return customizedParams;
   }
 
 }

+ 20 - 0
src/server/routes/apiv3/customize-setting.js

@@ -75,5 +75,25 @@ module.exports = (crowi) => {
     }
   });
 
+  // TODO writte swagger & validator
+  router.put('/behavior', loginRequiredStrictly, adminRequired, csrf, async(req, res) => {
+    const requestParams = {
+      'customize:behavior': req.body.behaviorType,
+    };
+
+    try {
+      await crowi.configManager.updateConfigsInTheSameNamespace('crowi', requestParams);
+      const customizedParams = {
+        behaviorType: await crowi.configManager.getConfig('crowi', 'customize:behavior'),
+      };
+      return res.apiv3({ customizedParams });
+    }
+    catch (err) {
+      const msg = 'Error occurred in updating behavior';
+      logger.error('Error', err);
+      return res.apiv3Err(new ErrorV3(msg, 'update-behavior-failed'));
+    }
+  });
+
   return router;
 };