cloudcms-cli
Version:
Cloud CMS Command-Line client
78 lines (73 loc) • 2.67 kB
JavaScript
var helper = require("../../../helper");
var AbstractCommand = require("../../abstract");
class SetDataStoreValueCommand extends AbstractCommand
{
constructor()
{
super({
"group": "datastore",
"name": "set-value",
"description": "Sets a key/value onto a datastore",
"schema": {
"properties": [{
"name": "datastoreTypeId",
"type": "string",
"description": "Enter the datastore type:",
"helper": "The type of the data store",
"required": true,
"args": ["type"]
}, {
"name": "datastoreId",
"type": "string",
"description": "Enter the datastore ID:",
"helper": "The ID of the data store",
"required": true,
"args": ["id"]
}, {
"name": "key",
"type": "string",
"description": "Enter the key:",
"helper": "The key to retrieve",
"required": true,
"args": ["key", "k"]
}, {
"name": "value",
"type": "string",
"description": "Enter the value:",
"helper": "The value to set",
"required": true,
"args": ["value", "val", "v"]
}, {
"name": "bool",
"type": "boolean",
"description": "Is this a boolean value?:",
"helper": "Whether the value is true/false",
"required": false,
"args": ["boolean", "bool"]
}, {
"name": "int",
"type": "boolean",
"description": "Is this an integer value?:",
"helper": "Whether the value is an integer",
"required": false,
"args": ["integer", "int"]
}]
}
});
}
handle(options, callback)
{
var valueType = null;
if (options.bool) {
valueType = "boolean";
}
if (options.int) {
valueType = "int";
}
// call workhorse function
helper.setDatastoreValue(options.datastoreTypeId, options.datastoreId, options.key, options.value, valueType, function(err) {
callback(err);
});
}
}
module.exports = SetDataStoreValueCommand;