Jump To …

webservice-push.js

var pushManager = require(__dirname + '/../Common/node/lpushmanager')
  , dataStore = require(__dirname + '/../Common/node/ldatastore')
  , logger = require(__dirname + '/../Common/node/logger');
  ;

module.exports = function(locker) {
    locker.all('/push/:dataset*', function(req, res, next) {
        if (RegExp("^[a-zA-Z0-9_]*$").test(req.params.dataset)) {
            next();
        } else {
            res.send('Invalid dataset name', 500);
        }
    });

get the map of available datasets

    locker.get('/push', function(req, res) {
        res.send(pushManager.datasets);
    });

take data and push it into a collection!

    locker.post('/push/:dataset', function(req, res) {
        pushManager.acceptData(req.params.dataset, req.body, function(err) {
            if (err) {
                res.send(err, 500);
            } else {
                res.send('ok');
            }
        });
    });

copy pasta from the synclet code, these should be utilizing some generic stuff instead

    locker.get('/push/:dataset/getCurrent', function(req, res) {
        dataStore.init("push", function() {
            var type = req.params.type;
            var options = {};
            if(req.query['limit']) options.limit = parseInt(req.query['limit']);
            if(req.query['offset']) options.skip = parseInt(req.query['offset']);

            dataStore.getAllCurrent("push", "push_" + req.params.dataset, function(err, objects) {
                if (err) {
                    res.send({error : err}, 500);
                } else {
                    res.send(objects, 200);
                }
            }, options);
        });
    });

    locker.get('/push/:dataset/:id', function(req, res) {
        dataStore.init("push", function() {
            dataStore.getCurrentId("push", "push_" + req.params.dataset, req.params.id, function(err, doc) {
                if (err) {
                    logger.error(err);
                    res.end();
                } else if (doc) {
                    res.send(doc);
                } else {
                    res.send('', 404);
                }
            });
        });
    });
};