Fix PUT should replace resource

This commit is contained in:
Typicode
2015-10-03 16:03:29 +02:00
parent 9f596a7a64
commit 2d278fbcb8
5 changed files with 21 additions and 16 deletions

View File

@ -215,8 +215,11 @@ module.exports = function (db, name) {
req.body[key] = utils.toNative(req.body[key])
}
var resource = db(name)
.updateById(utils.toNative(req.params.id), req.body)
var id = utils.toNative(req.params.id)
var resource = req.method === 'PATCH' ?
db(name).updateById(id, req.body) :
db(name).replaceById(id, req.body)
if (resource) {
res.locals.data = resource

View File

@ -1,5 +1,4 @@
var express = require('express')
var utils = require('../utils')
module.exports = function (db, name) {
@ -11,18 +10,19 @@ module.exports = function (db, name) {
}
function create (req, res, next) {
for (var prop in req.body) {
req.body[prop] = utils.toNative(req.body[prop])
}
res.locals.data = db.object[name] = req.body
res.status(201)
next()
}
function update (req, res, next) {
if (req.method === 'PUT') {
delete db.object[name]
db.object[name] = {}
}
for (var prop in req.body) {
db.object[name][prop] = utils.toNative(req.body[prop])
db.object[name][prop] = req.body[prop]
}
res.locals.data = db.object[name]