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