ozserver
Version:
API for OZ
56 lines (52 loc) • 1.77 kB
JavaScript
var mkpath, store;
mkpath = require('mkpath');
store = require(global.home + '/script/controllers/storage');
module.exports = function(program) {
var init;
if (program == null) {
throw 'program is not exists';
}
if (store == null) {
throw 'store is not exists';
}
init = function(program) {
if (program.profile != null) {
mkpath.sync("/usr/lib/ozserver/" + program.profile);
global.store = "/usr/lib/ozserver/" + program.profile + "/store.json";
}
return store.store(global.store);
};
program.option('-P, --profile <name>', 'profile for settings in /usr/lib/ozserver');
program.command('set <key> <value>').description('set settings').action(function(key, value) {
init(program);
console.log(store.set(key, value));
return process.exit();
});
program.command('get <key>').description('get settings').action(function(key) {
init(program);
console.log(store.get(key));
return process.exit();
});
program.command('remove <key>').description('remove settings').action(function(key) {
init(program);
console.log(store.remove(key));
return process.exit();
});
program.command('import <data>').description('import data into settings').action(function(data) {
init(program);
console.log(store["import"](data));
return process.exit();
});
program.command('export').description('export data from settings').action(function() {
init(program);
console.log(store["export"]());
return process.exit();
});
return program.on('--help', function() {
console.log(' Examples:');
console.log('');
console.log(' $ ozserver-store set port 2244');
console.log(' $ ozserver-store get mongodb_connection');
return console.log('');
});
};