Update lowdb and underscore-db

This commit is contained in:
Typicode
2015-06-15 16:33:28 +02:00
parent 60a21e685b
commit 09d2094593
2 changed files with 14 additions and 13 deletions

View File

@ -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"
},

View File

@ -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({})