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 uuid = require('node-uuid');
|
||||||
|
var pick = require('lodash/pick');
|
||||||
var JSData = require('js-data');
|
var JSData = require('js-data');
|
||||||
|
|
||||||
var store;
|
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) {
|
function get(id) {
|
||||||
if (!id) return error('No id specified.');
|
if (!id) return error('No id specified.');
|
||||||
|
|
||||||
@ -55,6 +81,7 @@ function createStore(options) {
|
|||||||
Report = store.defineResource('report');
|
Report = store.defineResource('report');
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
list: list,
|
||||||
get: get,
|
get: get,
|
||||||
add: add
|
add: add
|
||||||
};
|
};
|
||||||
|
@ -31,6 +31,11 @@ module.exports.run = function(worker) {
|
|||||||
res.send(r || {});
|
res.send(r || {});
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
case 'list':
|
||||||
|
store.list(req.body.query, req.body.fields).then(function(r) {
|
||||||
|
res.send(r);
|
||||||
|
});
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
store.add(req.body).then(function(r) {
|
store.add(req.body).then(function(r) {
|
||||||
scServer.exchange.publish('log', req.body);
|
scServer.exchange.publish('log', req.body);
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
"express": "^4.13.3",
|
"express": "^4.13.3",
|
||||||
"getport": "^0.1.0",
|
"getport": "^0.1.0",
|
||||||
"js-data": "^2.9.0",
|
"js-data": "^2.9.0",
|
||||||
|
"lodash": "^4.15.0",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
"node-uuid": "^1.4.0",
|
"node-uuid": "^1.4.0",
|
||||||
"object-assign": "^4.0.0",
|
"object-assign": "^4.0.0",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user