Comparing version 1.9.3 to 1.10.0
@@ -74,2 +74,20 @@ const graphql = require('fib-graphql'); | ||
function count_resolve (m) { | ||
return function (parent, args, req) { | ||
args.count = 1 | ||
args.limit = 0 | ||
var res = app.api.find({ | ||
session: req.session, | ||
query: args | ||
}, db, m); | ||
if (res.error) { | ||
req.error = res.error; | ||
throw res.error; | ||
} | ||
return res.success.count; | ||
}; | ||
} | ||
function get_resolve_one(m, f) { | ||
@@ -161,2 +179,8 @@ return function (parent, args, req) { | ||
}; | ||
types['count_' + k] = { | ||
type: graphql.GraphQLInt, | ||
args: hasManyArgs, | ||
resolve: count_resolve(m) | ||
}; | ||
} | ||
@@ -186,2 +210,2 @@ | ||
return db; | ||
}; | ||
}; |
@@ -36,3 +36,3 @@ const mq = require('mq'); | ||
// check empry data | ||
// check empty data | ||
if (req.length == 0 && func.length === arglen + 1) | ||
@@ -182,2 +182,2 @@ return fill_error(req, | ||
}); | ||
}; | ||
}; |
@@ -32,3 +32,3 @@ const json = require('json'); | ||
var limit = +query.limit; | ||
if (isNaN(limit) || limit <= 0 || limit > 1000) | ||
if (isNaN(limit) || limit < 0 || limit > 1000) | ||
limit = 100; | ||
@@ -40,4 +40,8 @@ exec = exec.limit(limit); | ||
exec = exec.order(order); | ||
var objs = exec.allSync(); | ||
// avoid extra find action such as `exec.allSync()` | ||
var objs = []; | ||
if (limit > 0) { | ||
objs = exec.allSync(); | ||
} | ||
objs = objs.map(obj => { | ||
@@ -62,2 +66,2 @@ var a | ||
return objs; | ||
}; | ||
}; |
{ | ||
"name": "fib-app", | ||
"version": "1.9.3", | ||
"version": "1.10.0", | ||
"description": "", | ||
@@ -5,0 +5,0 @@ "main": "lib/app", |
59040
1240