mirror of
https://github.com/typicode/json-server.git
synced 2025-07-27 20:23:34 +08:00
Update lowdb and underscore-db
This commit is contained in:
@ -15,12 +15,12 @@
|
||||
"express": "^4.9.5",
|
||||
"got": "^1.2.2",
|
||||
"lodash": "^3.9.2",
|
||||
"lowdb": "^0.8.1",
|
||||
"lowdb": "^0.9.0",
|
||||
"method-override": "^2.1.2",
|
||||
"morgan": "^1.3.1",
|
||||
"node-uuid": "^1.4.2",
|
||||
"pluralize": "^1.1.2",
|
||||
"underscore-db": "^0.8.0",
|
||||
"underscore-db": "^0.9.0",
|
||||
"update-notifier": "^0.2.2",
|
||||
"yargs": "^1.3.1"
|
||||
},
|
||||
|
@ -2,17 +2,11 @@ var express = require('express')
|
||||
var methodOverride = require('method-override')
|
||||
var bodyParser = require('body-parser')
|
||||
var _ = require('lodash')
|
||||
var _db = require('underscore-db')
|
||||
var low = require('lowdb')
|
||||
var pluralize = require('pluralize')
|
||||
var utils = require('./utils')
|
||||
|
||||
// Add underscore-db methods to lowdb
|
||||
low.mixin(require('underscore-db'))
|
||||
|
||||
// Override underscore-db's createId with utils.createId
|
||||
// utils.createId can generate incremental id or uuid
|
||||
low.mixin({createId: utils.createId})
|
||||
|
||||
module.exports = function (source) {
|
||||
// Create router
|
||||
var router = express.Router()
|
||||
@ -31,6 +25,13 @@ module.exports = function (source) {
|
||||
db = low(source)
|
||||
}
|
||||
|
||||
// Add underscore-db methods to db
|
||||
db.mixin(_db)
|
||||
|
||||
// Override underscore-db's createId with utils.createId
|
||||
// utils.createId can generate incremental id or uuid
|
||||
db.mixin({createId: utils.createId})
|
||||
|
||||
// Expose database
|
||||
router.db = db
|
||||
|
||||
@ -147,7 +148,7 @@ module.exports = function (source) {
|
||||
var _embed = req.query._embed
|
||||
var id = utils.toNative(req.params.id)
|
||||
var resource = db(req.params.resource)
|
||||
.get(id)
|
||||
.getById(id)
|
||||
|
||||
if (resource) {
|
||||
// Clone resource to avoid making changes to the underlying object
|
||||
@ -196,7 +197,7 @@ module.exports = function (source) {
|
||||
}
|
||||
|
||||
var resource = db(req.params.resource)
|
||||
.update(utils.toNative(req.params.id), req.body)
|
||||
.updateById(utils.toNative(req.params.id), req.body)
|
||||
|
||||
if (resource) {
|
||||
res.jsonp(resource)
|
||||
@ -207,13 +208,13 @@ module.exports = function (source) {
|
||||
|
||||
// DELETE /:resource/:id
|
||||
function destroy (req, res, next) {
|
||||
db(req.params.resource).remove(utils.toNative(req.params.id))
|
||||
db(req.params.resource).removeById(utils.toNative(req.params.id))
|
||||
|
||||
// Remove dependents documents
|
||||
var removable = utils.getRemovable(db.object)
|
||||
|
||||
_.each(removable, function (item) {
|
||||
db(item.name).remove(item.id)
|
||||
db(item.name).removeById(item.id)
|
||||
})
|
||||
|
||||
res.status(200).jsonp({})
|
||||
|
Reference in New Issue
Block a user