diff --git a/lib/store.js b/lib/store.js index 49c6a9a..8c46555 100644 --- a/lib/store.js +++ b/lib/store.js @@ -11,6 +11,18 @@ function error(msg) { }); } +function get(id) { + if (!id) return error('No id specified.'); + + if (!adapter) { + return new Promise(function(resolve) { + var report = Report.get(id); + return resolve(report); + }); + } + return Report.find(id); +} + function add(data) { if (!data.type || !data.payload) { return error('Required parameters aren\'t specified.'); @@ -36,6 +48,7 @@ function createStore(options) { Report = store.defineResource('report'); return { + get: get, add: add }; } diff --git a/lib/worker.js b/lib/worker.js index 3eccacc..0729265 100644 --- a/lib/worker.js +++ b/lib/worker.js @@ -25,6 +25,11 @@ module.exports.run = function(worker) { if (!store) store = createStore(worker.options); switch(req.body.op) { + case 'get': + store.get(req.body.id).then(function(r) { + res.send(r || {}); + }); + break; default: store.add(req.body).then(function(r) { scServer.exchange.publish('log', req.body);