Replace object with proper array implementation

This commit is contained in:
Adrian Obelmejias
2016-03-18 22:59:01 -04:00
parent 9dfad9dca5
commit 8ffe8a40ae
3 changed files with 22 additions and 25 deletions
+4 -4
View File
@@ -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
]
}
}
]
+10 -9
View File
@@ -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())
})
})
})
}
+8 -12
View File
@@ -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
]
}
}
]