renamed entries.api() to entries.storage(); renamed entriesAPI to entriesStorage; also ensure indexes for treatments and devicestatus collections

This commit is contained in:
Jason Calabrese
2014-10-31 00:13:40 -07:00
parent d66647316f
commit f37942ab83
6 changed files with 47 additions and 15 deletions
+16 -2
View File
@@ -1,6 +1,6 @@
'use strict';
function configure (collection, storage) {
function storage (collection, storage) {
function create (obj, fn) {
obj.created_at = (new Date( )).toISOString( );
@@ -31,4 +31,18 @@ function configure (collection, storage) {
api.last = last;
return api;
}
module.exports = configure;
function ensureIndexes(name, storage) {
storage.with_collection(name)(function (err, collection) {
if (err) {
console.error("ensureIndexes, unable to get collection for: " + name + " - " + err);
} else {
storage.ensureIndexes(collection, ['created_at']);
}
});
}
module.exports = {
storage: storage,
ensureIndexes: ensureIndexes
};
+2 -2
View File
@@ -10,7 +10,7 @@ var TEN_MINS = 10 * 60 * 1000;
* Encapsulate persistent storage of sgv entries.
\**********/
function api(name, storage, pushover) {
function storage(name, storage, pushover) {
// TODO: Code is a little redundant.
@@ -199,7 +199,7 @@ function ensureIndexes(name, storage) {
// expose module
module.exports = {
api: api,
storage: storage,
ensureIndexes: ensureIndexes
};
+16 -2
View File
@@ -1,6 +1,6 @@
'use strict';
function configure (collection, storage, pushover) {
function storage (collection, storage, pushover) {
function create (obj, fn) {
obj.created_at = (new Date( )).toISOString( );
@@ -45,4 +45,18 @@ function configure (collection, storage, pushover) {
api.create = create;
return api;
}
module.exports = configure;
function ensureIndexes(name, storage) {
storage.with_collection(name)(function (err, collection) {
if (err) {
console.error("ensureIndexes, unable to get collection for: " + name + " - " + err);
} else {
storage.ensureIndexes(collection, ['created_at', 'eventType']);
}
});
}
module.exports = {
storage: storage,
ensureIndexes: ensureIndexes
};
+11 -7
View File
@@ -30,11 +30,15 @@ var software = require('./package.json');
var env = require('./env')( );
var pushover = require('./lib/pushover')(env);
var entries = require('./lib/entries')
var entries = require('./lib/entries');
var treatments = require('./lib/treatments');
var devicestatus = require('./lib/devicestatus');
var store = require('./lib/storage')(env, function() {
console.info("Mongo ready");
entries.ensureIndexes(env.mongo_collection, store);
treatments.ensureIndexes(env.treatments_collection, store);
devicestatus.ensureIndexes(env.devicestatus_collection, store);
});
@@ -43,11 +47,11 @@ var express = require('express');
///////////////////////////////////////////////////
// api and json object variables
///////////////////////////////////////////////////
var entriesAPI = entries.api(env.mongo_collection, store, pushover);
var entriesStorage = entries.storage(env.mongo_collection, store, pushover);
var settings = require('./lib/settings')(env.settings_collection, store);
var treatments = require('./lib/treatments')(env.treatments_collection, store, pushover);
var devicestatus = require('./lib/devicestatus')(env.devicestatus_collection, store);
var api = require('./lib/api/')(env, entriesAPI, settings, treatments, devicestatus);
var treatmentsStorage = treatments.storage(env.treatments_collection, store, pushover);
var devicestatusStorage = devicestatus.storage(env.devicestatus_collection, store);
var api = require('./lib/api/')(env, entriesStorage, settings, treatmentsStorage, devicestatusStorage);
var pebble = require('./lib/pebble');
///////////////////////////////////////////////////
@@ -67,7 +71,7 @@ app.enable('trust proxy'); // Allows req.secure test on heroku https connections
app.use('/api/v1', api);
// pebble data
app.get('/pebble', pebble(entriesAPI, devicestatus));
app.get('/pebble', pebble(entriesStorage, treatmentsStorage));
//app.get('/package.json', software);
@@ -92,7 +96,7 @@ store(function ready ( ) {
// setup socket io for data and message transmission
///////////////////////////////////////////////////
var websocket = require('./lib/websocket');
var io = websocket(env, server, entriesAPI, treatments);
var io = websocket(env, server, entriesStorage, treatmentsStorage);
});
///////////////////////////////////////////////////
+1 -1
View File
@@ -9,7 +9,7 @@ describe('Entries REST api', function ( ) {
var env = require('../env')( );
this.wares = require('../lib/middleware/')(env);
var store = require('../lib/storage')(env);
this.archive = require('../lib/entries').api(env.mongo_collection, store);
this.archive = require('../lib/entries').storage(env.mongo_collection, store);
this.app = require('express')( );
this.app.enable('api');
var self = this;
+1 -1
View File
@@ -13,7 +13,7 @@ describe('API_SECRET', function ( ) {
var ctx = { };
ctx.wares = require('../lib/middleware/')(env);
ctx.store = require('../lib/storage')(env);
ctx.archive = require('../lib/entries').api(env.mongo_collection, ctx.store);
ctx.archive = require('../lib/entries').storage(env.mongo_collection, ctx.store);
ctx.settings = require('../lib/settings')(env.settings_collection, ctx.store);
ctx.store(function ( ) {