Просмотр исходного кода

wip validation, fixing incorrect dto

Steven Fukase 4 лет назад
Родитель
Сommit
94fb55ead7

+ 1 - 1
packages/app/src/components/Me/EditorSettings.tsx

@@ -133,7 +133,7 @@ const EditorSettingsBody: FC<Props> = (props) => {
 
   const updateRulesHandler = async() => {
     try {
-      const { data } = await appContainer.apiv3Put('/personal-setting/editor-settings', { textlintRules });
+      const { data } = await appContainer.apiv3Put('/personal-setting/editor-settings', { textlintSettings: textlintRules });
       setTextlintRules(data.textlintSettings.textlintRules);
       toastSuccess(t('toaster.update_successed', { target: 'Updated Textlint Settings' }));
     }

+ 9 - 2
packages/app/src/server/routes/apiv3/personal-setting.js

@@ -1,4 +1,4 @@
-import { body } from 'express-validator';
+import { body, checkSchema } from 'express-validator';
 
 import loggerFactory from '~/utils/logger';
 
@@ -101,7 +101,14 @@ module.exports = (crowi) => {
       body('accountId').isString().not().isEmpty(),
     ],
     editorSettings: [
-      body('isTextlintEnabled').isBoolean(),
+      checkSchema({
+        textlintSettings: {
+          isTextlintEnabled: { isBoolean: true },
+          textlintRules: [
+            { name: { isString: true }, options: { isString: true }, isEnabled: { isBoolean: true } },
+          ],
+        },
+      }),
     ],
   };