mirror of
https://github.com/typicode/json-server.git
synced 2025-07-28 20:52:08 +08:00
@ -14,12 +14,13 @@
|
|||||||
"errorhandler": "^1.2.0",
|
"errorhandler": "^1.2.0",
|
||||||
"express": "^4.9.5",
|
"express": "^4.9.5",
|
||||||
"got": "^1.2.2",
|
"got": "^1.2.2",
|
||||||
|
"lodash": "^3.9.1",
|
||||||
"lowdb": "^0.7.1",
|
"lowdb": "^0.7.1",
|
||||||
"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": "^1.5.2",
|
"underscore": "^1.8.3",
|
||||||
"underscore-db": "^0.8.0",
|
"underscore-db": "^0.8.0",
|
||||||
"update-notifier": "^0.2.2",
|
"update-notifier": "^0.2.2",
|
||||||
"yargs": "^1.3.1"
|
"yargs": "^1.3.1"
|
||||||
|
@ -78,7 +78,7 @@ module.exports = function (source) {
|
|||||||
array = db(req.params.resource).filter(function (obj) {
|
array = db(req.params.resource).filter(function (obj) {
|
||||||
for (var key in obj) {
|
for (var key in obj) {
|
||||||
var value = obj[key]
|
var value = obj[key]
|
||||||
if (_.isString(value) && value.toLowerCase().indexOf(q) !== -1) {
|
if (utils.deepQuery(value, q)) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -101,7 +101,8 @@ module.exports = function (source) {
|
|||||||
filters[key] = utils.toNative(req.query[key])
|
filters[key] = utils.toNative(req.query[key])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
console.log(filters)
|
||||||
|
console.log()
|
||||||
// Filter
|
// Filter
|
||||||
if (_(filters).isEmpty()) {
|
if (_(filters).isEmpty()) {
|
||||||
array = db(req.params.resource).value()
|
array = db(req.params.resource).value()
|
||||||
|
25
src/utils.js
25
src/utils.js
@ -44,7 +44,7 @@ function createId (coll) {
|
|||||||
// Example: a comment that references a post that doesn't exist
|
// Example: a comment that references a post that doesn't exist
|
||||||
function getRemovable (db) {
|
function getRemovable (db) {
|
||||||
var removable = []
|
var removable = []
|
||||||
|
console.log(db)
|
||||||
_(db).each(function (coll, collName) {
|
_(db).each(function (coll, collName) {
|
||||||
_(coll).each(function (doc) {
|
_(coll).each(function (doc) {
|
||||||
_(doc).each(function (value, key) {
|
_(doc).each(function (value, key) {
|
||||||
@ -66,8 +66,29 @@ function getRemovable (db) {
|
|||||||
return removable
|
return removable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function deepQuery (value, q) {
|
||||||
|
if (value && q) {
|
||||||
|
if (_.isArray(value)) {
|
||||||
|
for (var i = 0; i < value.length; i++) {
|
||||||
|
if (deepQuery(value[i], q)) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (_.isObject(value) && !_.isArray(value)) {
|
||||||
|
for (var k in value) {
|
||||||
|
if (deepQuery(value[k], q)) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else if (value.toString().toLowerCase().indexOf(q) !== -1) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
toNative: toNative,
|
toNative: toNative,
|
||||||
createId: createId,
|
createId: createId,
|
||||||
getRemovable: getRemovable
|
getRemovable: getRemovable,
|
||||||
|
deepQuery: deepQuery
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user