瀏覽代碼

wip adding update methods

Steven Fukase 4 年之前
父節點
當前提交
203f7a9487
共有 2 個文件被更改,包括 40 次插入1 次删除
  1. 6 0
      packages/app/src/server/models/user.js
  2. 34 1
      packages/app/src/server/routes/apiv3/personal-setting.js

+ 6 - 0
packages/app/src/server/models/user.js

@@ -698,6 +698,12 @@ module.exports = function(crowi) {
     user.save();
     user.save();
   };
   };
 
 
+  userSchema.methods.updateEditorCurrentSettings = async function(editorSettings) {
+    this.editorCurrentSettings = editorSettings;
+    const userData = await this.save();
+    return userData;
+  };
+
   class UserUpperLimitException {
   class UserUpperLimitException {
 
 
     constructor() {
     constructor() {

+ 34 - 1
packages/app/src/server/routes/apiv3/personal-setting.js

@@ -15,7 +15,7 @@ const router = express.Router();
 /**
 /**
  * @swagger
  * @swagger
  *  tags:
  *  tags:
- *    name: PsersonalSetting
+ *    name: PersonalSetting
  */
  */
 
 
 /**
 /**
@@ -459,5 +459,38 @@ module.exports = (crowi) => {
 
 
   });
   });
 
 
+  /**
+   * @swagger
+   *
+   *    /personal-setting:
+   *      get:
+   *        tags: [PersonalSetting]
+   *        operationId: getPersonalSetting
+   *        summary: /personal-setting
+   *        description: Get editor preferences
+   *        responses:
+   *          200:
+   *            description: editor preferences
+   *            content:
+   *              application/json:
+   *                schema:
+   *                  properties:
+   *                    editorCurrentSettings:
+   *                      type: object
+   *                      description: editor preferences
+   */
+  router.get('/editor-current-settings', accessTokenParser, loginRequiredStrictly, async(req, res) => {
+    const { body, user } = req;
+    const { editorSettings } = body;
+    try {
+      const userData = await user.updateEditorCurrentSettings(editorSettings);
+      return res.apiv3({ userData });
+    }
+    catch (err) {
+      logger.error(err);
+      return res.apiv3Err('retrieving-update-personal-settings-failed');
+    }
+  });
+
   return router;
   return router;
 };
 };