UNPKG

ozserver

Version:

API for OZ

56 lines (52 loc) 1.77 kB
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(''); }); };