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 passphrase: argv.passphrase || process.env.npm_package_remotedev_passphrase || null
}, },
adapter: argv.adapter || process.env.npm_package_remotedev_adapter, 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 logLevel: argv.logLevel || 3
}; };
} }

View File

@ -1,6 +1,7 @@
var uuid = require('node-uuid'); var uuid = require('node-uuid');
var pick = require('lodash/pick'); var pick = require('lodash/pick');
var JSData = require('js-data'); var JSData = require('js-data');
var getAdapter = require('./adapter');
var store; var store;
var adapter; var adapter;
@ -92,7 +93,15 @@ function byBaseFields(data) {
} }
function createStore(options) { function createStore(options) {
var adapterName = options.adapter;
store = new JSData.DS(); 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'); Report = store.defineResource('report');
return { return {