Răsfoiți Sursa

move formValid to /server/middlewares

mizozobu 6 ani în urmă
părinte
comite
f153f1e69b

+ 23 - 0
src/server/middlewares/formValid.js

@@ -0,0 +1,23 @@
+const logger = require('@alias/logger')('growi:middlewares:formValid');
+const { validationResult } = require('express-validator/check');
+
+const formValid = (crowi) => {
+  const { ErrorV3 } = crowi.models;
+
+  return function(req, res, next) {
+    const errObjArray = validationResult(req);
+    if (errObjArray.isEmpty()) {
+      return next();
+    }
+
+    const errs = errObjArray.array().map((err) => {
+      logger.error(`${err.param} in ${err.location}: ${err.msg}`);
+      const errrr = new ErrorV3(`${err.param}: ${err.msg}`, 'validation_failed');
+      return errrr;
+    });
+
+    return res.apiv3Err(errs);
+  };
+};
+
+module.exports = formValid;

+ 17 - 0
src/server/middlewares/index.js

@@ -0,0 +1,17 @@
+const fs = require('fs');
+const path = require('path');
+
+const basename = path.basename(__filename);
+const middlewares = {};
+
+fs
+  .readdirSync(__dirname)
+  .filter((file) => {
+    return (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js');
+  })
+  .forEach((file) => {
+    const middleware = require(path.join(__dirname, file));
+    middlewares[file.slice(0, -3)] = middleware;
+  });
+
+module.exports = middlewares;

+ 1 - 1
src/server/routes/apiv3/user-group.js

@@ -13,13 +13,13 @@ const {
   csrfVerify,
   loginRequired,
   adminRequired,
-  formValid,
 } = require('../../util/middlewares');
 
 const validator = {};
 
 module.exports = (crowi) => {
   const { ErrorV3, UserGroup, UserGroupRelation } = crowi.models;
+  const { formValid } = require('../../middlewares');
 
   router.use('/', accessTokenParser(crowi));
 

+ 2 - 19
src/server/util/middlewares.js

@@ -3,7 +3,6 @@ const logger = require('@alias/logger')('growi:lib:middlewares');
 const pathUtils = require('growi-commons').pathUtils;
 const md5 = require('md5');
 const entities = require('entities');
-const { validationResult } = require('express-validator/check');
 
 exports.csrfKeyGenerator = function(crowi, app) {
   return function(req, res, next) {
@@ -319,21 +318,5 @@ exports.awsEnabled = function() {
   };
 };
 
-exports.formValid = function(crowi) {
-  const { ErrorV3 } = crowi.models;
-
-  return function(req, res, next) {
-    const errObjArray = validationResult(req);
-    if (errObjArray.isEmpty()) {
-      return next();
-    }
-
-    const errs = errObjArray.array().map((err) => {
-      logger.error(`${err.param} in ${err.location}: ${err.msg}`);
-      const errrr = new ErrorV3(`${err.param}: ${err.msg}`, 'validation_failed');
-      return errrr;
-    });
-
-    return res.apiv3Err(errs);
-  };
-};
+// don't add any more middlewares to this file.
+// all new middlewares should be an independent file under /server/routes/middlewares