Add POST /:resource/:id/:nested route

This commit is contained in:
Typicode
2015-11-26 00:37:29 +01:00
parent 6ea345b0f3
commit e04389cd7c
4 changed files with 34 additions and 5 deletions

View File

@ -6,13 +6,23 @@ module.exports = function () {
var router = express.Router()
// Rewrite url to /:nested?:resourceId=:id
router.get('/:resource/:id/:nested', function (req, res, next) {
// Rewrite URL (/:resource/:id/:nested -> /:nested) and request query
function get (req, res, next) {
var prop = pluralize.singular(req.params.resource)
req.query[prop + 'Id'] = utils.toNative(req.params.id)
req.url = '/' + req.params.nested
next()
})
}
// Rewrite URL (/:resource/:id/:nested -> /:nested) and request body
function post (req, res, next) {
var prop = pluralize.singular(req.params.resource)
req.body[prop + 'Id'] = utils.toNative(req.params.id)
req.url = '/' + req.params.nested
next()
}
return router
.get('/:resource/:id/:nested', get)
.post('/:resource/:id/:nested', post)
}