Skip to content

Commit a4fa344

Browse files
committed
Support string id in /resources/:id
1 parent ded9ffb commit a4fa344

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/router.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ module.exports = function(source) {
132132
// GET /:resource/:id
133133
function show(req, res, next) {
134134
var resource = db(req.params.resource)
135-
.get(+req.params.id)
135+
.get(utils.toNative(req.params.id))
136136

137137
if (resource) {
138138
res.jsonp(resource)
@@ -161,7 +161,7 @@ module.exports = function(source) {
161161
}
162162

163163
var resource = db(req.params.resource)
164-
.update(+req.params.id, req.body)
164+
.update(utils.toNative(req.params.id), req.body)
165165

166166
if (resource) {
167167
res.jsonp(resource)
@@ -172,7 +172,7 @@ module.exports = function(source) {
172172

173173
// DELETE /:resource/:id
174174
function destroy(req, res, next) {
175-
db(req.params.resource).remove(+req.params.id)
175+
db(req.params.resource).remove(utils.toNative(req.params.id))
176176

177177
// Remove dependents documents
178178
var removable = utils.getRemovable(db.object)

test/index.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,6 +167,14 @@ describe('Server', function() {
167167
.expect(200, done)
168168
})
169169

170+
it('should support string id, respond with json and corresponding resource', function(done) {
171+
request(server)
172+
.get('/refs/abcd-1234')
173+
.expect('Content-Type', /json/)
174+
.expect(db.refs[0])
175+
.expect(200, done)
176+
})
177+
170178
it('should respond with 404 if resource is not found', function(done) {
171179
request(server)
172180
.get('/posts/9001')

0 commit comments

Comments
 (0)