diff --git a/src/modules/auth/router.js b/src/modules/auth/router.js index fab2e6b..06b1d84 100644 --- a/src/modules/auth/router.js +++ b/src/modules/auth/router.js @@ -1,13 +1,13 @@ import * as auth from './controller' -export default { - base: '/auth', +export const baseUrl = '/auth' - 'Authenticate user': { +export default [ + { method: 'POST', route: '/', handlers: [ auth.authUser ] } -} +] diff --git a/src/modules/index.js b/src/modules/index.js index c062dbf..6e9dd6e 100644 --- a/src/modules/index.js +++ b/src/modules/index.js @@ -6,24 +6,25 @@ exports = module.exports = function initModules(app) { if (err) { throw err } matches.forEach((mod) => { - const routerConfig = require(`${mod}/router`).default - const router = new Router({ prefix: routerConfig.base }) + const router = require(`${mod}/router`) - for (const [key, props] of Object.entries(routerConfig)) { - if (key === 'base') { continue } + const routes = router.default + const baseUrl = router.baseUrl + const instance = new Router({ prefix: baseUrl }) + routes.forEach((config) => { const { method = '', route = '', handlers = [] - } = props + } = config - router[method.toLowerCase()](route, ...handlers) + instance[method.toLowerCase()](route, ...handlers) app - .use(router.routes()) - .use(router.allowedMethods()) - } + .use(instance.routes()) + .use(instance.allowedMethods()) + }) }) }) } diff --git a/src/modules/users/router.js b/src/modules/users/router.js index ad84a61..5ac210f 100644 --- a/src/modules/users/router.js +++ b/src/modules/users/router.js @@ -1,18 +1,17 @@ import { ensureUser } from '../../middleware/validators' import * as user from './controller' -export default { - base: '/users', +export const baseUrl = '/users' - 'Create new users': { +export default [ + { method: 'POST', route: '/', handlers: [ user.createUser ] }, - - 'Get all users': { + { method: 'GET', route: '/', handlers: [ @@ -20,8 +19,7 @@ export default { user.getUsers ] }, - - 'Get a single user': { + { method: 'GET', route: '/:id', handlers: [ @@ -29,8 +27,7 @@ export default { user.getUser ] }, - - 'Update user': { + { method: 'PUT', route: '/:id', handlers: [ @@ -38,8 +35,7 @@ export default { user.updateUser ] }, - - 'Delete user': { + { method: 'DELETE', route: '/:id', handlers: [ @@ -47,4 +43,4 @@ export default { user.deleteUser ] } -} +]