Support adapters

This commit is contained in:
Zalmoxisus 2016-09-11 17:43:36 +03:00
parent 2523b3e491
commit da18bb47d6
3 changed files with 15 additions and 1 deletions

5
lib/adapter.js Normal file
View File

@ -0,0 +1,5 @@
function getAdapter(adapter) {
return require('js-data-' + adapter);
}
module.exports = getAdapter;

View File

@ -9,7 +9,7 @@ module.exports = function getOptions(argv) {
passphrase: argv.passphrase || process.env.npm_package_remotedev_passphrase || null
},
adapter: argv.adapter || process.env.npm_package_remotedev_adapter,
db: argv.adapter || process.env.npm_package_remotedev_db,
dbOptions: argv.dbOptions || process.env.npm_package_remotedev_db,
logLevel: argv.logLevel || 3
};
}

View File

@ -1,6 +1,7 @@
var uuid = require('node-uuid');
var pick = require('lodash/pick');
var JSData = require('js-data');
var getAdapter = require('./adapter');
var store;
var adapter;
@ -92,7 +93,15 @@ function byBaseFields(data) {
}
function createStore(options) {
var adapterName = options.adapter;
store = new JSData.DS();
if (adapterName) {
var DSAdapter = getAdapter(adapterName);
adapter = new DSAdapter(options.dbOptions);
store.registerAdapter(adapterName, adapter, { default: true });
}
Report = store.defineResource('report');
return {