List reports
This commit is contained in:
parent
426fc75610
commit
b9de52d23f
27
lib/store.js
27
lib/store.js
@ -1,4 +1,5 @@
|
||||
var uuid = require('node-uuid');
|
||||
var pick = require('lodash/pick');
|
||||
var JSData = require('js-data');
|
||||
|
||||
var store;
|
||||
@ -11,6 +12,31 @@ function error(msg) {
|
||||
});
|
||||
}
|
||||
|
||||
function map(data, fields) {
|
||||
if (!fields) return data;
|
||||
return data.map(function(r) {
|
||||
return pick(r, fields);
|
||||
});
|
||||
}
|
||||
|
||||
function listEvery(query) {
|
||||
if (!adapter) {
|
||||
return new Promise(function(resolve) {
|
||||
var report = Report.filter(query);
|
||||
return resolve(report);
|
||||
});
|
||||
}
|
||||
return Report.findAll(query);
|
||||
}
|
||||
|
||||
function list(query, fields) {
|
||||
return new Promise(function(resolve) {
|
||||
listEvery(query).then(function(data) {
|
||||
return resolve(map(data, fields));
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function get(id) {
|
||||
if (!id) return error('No id specified.');
|
||||
|
||||
@ -55,6 +81,7 @@ function createStore(options) {
|
||||
Report = store.defineResource('report');
|
||||
|
||||
return {
|
||||
list: list,
|
||||
get: get,
|
||||
add: add
|
||||
};
|
||||
|
@ -31,6 +31,11 @@ module.exports.run = function(worker) {
|
||||
res.send(r || {});
|
||||
});
|
||||
break;
|
||||
case 'list':
|
||||
store.list(req.body.query, req.body.fields).then(function(r) {
|
||||
res.send(r);
|
||||
});
|
||||
break;
|
||||
default:
|
||||
store.add(req.body).then(function(r) {
|
||||
scServer.exchange.publish('log', req.body);
|
||||
|
@ -33,6 +33,7 @@
|
||||
"express": "^4.13.3",
|
||||
"getport": "^0.1.0",
|
||||
"js-data": "^2.9.0",
|
||||
"lodash": "^4.15.0",
|
||||
"minimist": "^1.2.0",
|
||||
"node-uuid": "^1.4.0",
|
||||
"object-assign": "^4.0.0",
|
||||
|
Loading…
x
Reference in New Issue
Block a user