Skip to content

Instantly share code, notes, and snippets.

@israeleriston
Created May 5, 2018 18:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save israeleriston/f5fc7d892a762cf55fe99ded59cd576d to your computer and use it in GitHub Desktop.
Save israeleriston/f5fc7d892a762cf55fe99ded59cd576d to your computer and use it in GitHub Desktop.
Auto loading the routes
const create = (req, reply) => {
console.log('create user !')
}
const middleware = () => ({
create: create
})
module.exports = middleware
const middleware = require('./Middleware')
const create = handler => ({
name: 'user-create',
path: '/user',
version: '1.0.1',
method: 'post',
handler: () => handler
})
const update = handler => ({
name: 'user-update',
path: '/user',
version: '1.0.1',
method: 'put',
handler: () => handler
})
const destroy = handler => ({
name: 'user-create',
path: '/user',
version: '1.0.1',
method: 'delete',
handler: () => handler
})
const search = handler => ({
name: 'user-create',
path: '/user',
version: '1.0.1',
method: 'get',
handler: () => handler
})
const makeRoutes = middleware => ({
create: create(middleware.create),
update: update(middleware.create),
delete: destroy(middleware.create),
search: search(middleware.create)
})
const routes = () => {
const routesMaked = makeRoutes(middleware)
console.log('routesMaked ', routesMaked)
const values = Object.values(routesMaked)
console.log('values ', values)
return values
}
console.log('routes', routes)
module.exports = routes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment