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

Change statusList from userType and able to validate multiple string values used array

ryuichi-e 6 лет назад
Родитель
Сommit
a9fcdaa3ab
1 измененных файлов с 14 добавлено и 4 удалено
  1. 14 4
      src/server/routes/apiv3/users.js

+ 14 - 4
src/server/routes/apiv3/users.js

@@ -424,12 +424,22 @@ module.exports = (crowi) => {
     }
   });
 
-  validator.defineStatus = [
-    body('userType').not().isEmpty().isString()
-      .isIn(['registed', 'active', 'suspended', 'invited']),
+  const correctStatusList = ['registered', 'active', 'suspended', 'invited'];
+
+  validator.statusList = [
+    body('statusList').custom((value) => {
+      const error = [];
+      value.map((status) => {
+        if (!correctStatusList.includes(status)) {
+          error.push(status);
+        }
+        return (error.length === 0);
+      });
+      return (error.length === 0);
+    }),
   ];
 
-  router.get('/selected-status-users/', validator.defineStatus, ApiV3FormValidator, async(req, res) => {
+  router.get('/selected-status-users/', validator.statusList, ApiV3FormValidator, async(req, res) => {
     return res.apiv3({});
   });