@marteye/studio-cli
Version:
CLI for MartEye Studio API
70 lines (66 loc) • 2.5 kB
JavaScript
;
var commander = require('commander');
var studio = require('../utils/studio.js');
var output = require('../utils/output.js');
function settingsCommand() {
const settings = new commander.Command('settings')
.description('Market settings operations');
settings
.command('get <market-id>')
.description('Get market settings')
.option('--key <key>', 'Get specific setting key')
.action(async (marketId, options, command) => {
const globalOptions = command.optsWithGlobals ? command.optsWithGlobals() : command.parent?.parent?.opts() || {};
try {
const studio$1 = studio.createStudioInstance(globalOptions);
const result = await studio$1.settings.get(marketId);
if (options.key) {
const value = result[options.key];
if (value !== undefined) {
output.output(value, globalOptions);
}
else {
output.error(`Setting '${options.key}' not found`);
process.exit(1);
}
}
else {
output.output(result, globalOptions);
}
}
catch (err) {
output.error(err.message, err.response?.data);
process.exit(1);
}
});
settings
.command('update <market-id>')
.description('Update market settings')
.requiredOption('--key <key>', 'Setting key to update')
.requiredOption('--value <value>', 'New value')
.action(async (marketId, options, command) => {
const globalOptions = command.optsWithGlobals ? command.optsWithGlobals() : command.parent?.parent?.opts() || {};
try {
const studio$1 = studio.createStudioInstance(globalOptions);
// Parse value if it looks like JSON
let value = options.value;
try {
value = JSON.parse(options.value);
}
catch {
// Not JSON, use as string
}
const result = await studio$1.settings.update(marketId, {
[options.key]: value
});
output.output(result, globalOptions);
}
catch (err) {
output.error(err.message, err.response?.data);
process.exit(1);
}
});
return settings;
}
exports.settingsCommand = settingsCommand;
//# sourceMappingURL=settings.js.map