diff --git a/src/routes.js b/src/routes.js index b372143..10960aa 100644 --- a/src/routes.js +++ b/src/routes.js @@ -53,6 +53,10 @@ routes.show = function(req, res, next) { // POST /:resource routes.create = function(req, res, next) { + for (var key in req.body) { + req.body[key] = utils.toNative(req.body[key]) + } + var resource = low(req.params.resource) .insert(req.body) .value() @@ -63,6 +67,10 @@ routes.create = function(req, res, next) { // PUT /:resource/:id // PATCH /:resource/:id routes.update = function(req, res, next) { + for (var key in req.body) { + req.body[key] = utils.toNative(req.body[key]) + } + var resource = low(req.params.resource) .update(+req.params.id, req.body) .value() diff --git a/test/server.js b/test/server.js index 1286218..47d18d2 100644 --- a/test/server.js +++ b/test/server.js @@ -92,9 +92,9 @@ describe('Server', function() { it('should respond with json and create a resource', function(done) { request(server) .post('/posts') - .send({body: 'foo'}) + .send({body: 'foo', booleanValue: 'true', integerValue: '1'}) .expect('Content-Type', /json/) - .expect({id: 3, body: 'foo'}) + .expect({id: 3, body: 'foo', booleanValue: true, integerValue: 1}) .expect(200) .end(function(err, res){ if (err) return done(err) @@ -108,13 +108,13 @@ describe('Server', function() { it('should respond with json and update resource', function(done) { request(server) .put('/posts/1') - .send({id: 1, body: 'foo'}) + .send({id: 1, body: 'bar', booleanValue: 'true', integerValue: '1'}) .expect('Content-Type', /json/) - .expect({id: 1, body: 'foo'}) + .expect({id: 1, body: 'bar', booleanValue: true, integerValue: 1}) .expect(200) .end(function(err, res){ if (err) return done(err) - assert.deepEqual(low.db.posts[0], {id: 1, body: 'foo'}) + assert.deepEqual(low.db.posts[0], {id: 1, body: 'bar', booleanValue: true, integerValue: 1}) done() }) })