Skip to content

Commit

Permalink
feat: allow missing (or non-array) middlewares argument in route help…
Browse files Browse the repository at this point in the history
…er methods
  • Loading branch information
julianlam committed Mar 9, 2021
1 parent 5945907 commit 4b54508
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions src/routes/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,30 @@ const helpers = module.exports;
const middleware = require('../middleware');
const controllerHelpers = require('../controllers/helpers');

helpers.setupPageRoute = function (router, name, middleware, middlewares, controller) {
function _handleArgs(middleware, middlewares, controller) {
if (typeof middlewares === 'function') {
if (controller) {
middlewares = [middlewares];
} else {
controller = middlewares;
middlewares = [];
}
}

middlewares = [
middleware.maintenanceMode,
middleware.registrationComplete,
middleware.authenticateRequest,
middleware.pluginHooks,
middleware.pageView,
...middlewares];

return { middlewares, controller };
}

helpers.setupPageRoute = function (router, name, middleware, middlewares, controller) {
({ middlewares, controller } = _handleArgs(middleware, middlewares, controller));
middlewares.push(middleware.pageView);

router.get(
name,
middleware.busyCheck,
Expand All @@ -30,13 +45,7 @@ helpers.setupAdminPageRoute = function (router, name, middleware, middlewares, c
};

helpers.setupApiRoute = function (router, verb, name, middlewares, controller) {
middlewares = [
middleware.maintenanceMode,
middleware.registrationComplete,
middleware.authenticateRequest,
middleware.pluginHooks,
...middlewares,
];
({ middlewares, controller } = _handleArgs(middleware, middlewares, controller));

router[verb](name, middlewares, helpers.tryRoute(controller, (err, res) => {
controllerHelpers.formatApiResponse(400, res, err);
Expand Down

0 comments on commit 4b54508

Please sign in to comment.