UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

44 lines 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerCustomFieldCommands = registerCustomFieldCommands; const custom_field_handler_1 = require("../handlers/custom-field.handler"); const errors_1 = require("../utils/errors"); const api_command_1 = require("../utils/api-command"); function withCustomFieldHandler(program, run) { return (async () => { try { const { authConfig, serviceConfig } = await (0, api_command_1.loadApiCommandConfig)((0, api_command_1.commandParentOptions)(program)); await run(new custom_field_handler_1.CustomFieldHandler(authConfig, serviceConfig)); } catch (error) { (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error))); process.exit(1); } })(); } function registerCustomFieldCommands(program) { const customFieldCmd = program.command('custom-field').description('Manage user custom fields'); customFieldCmd.command('list') .description('List custom fields') .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table') .action((options) => withCustomFieldHandler(program, handler => handler.list(options))); customFieldCmd.command('add') .description('Add a custom field') .requiredOption('--custom-field-id <id>', 'custom field ID (required, max 64 chars)') .requiredOption('--custom-field-name <name>', 'custom field name (required, max 64 chars)') .requiredOption('--custom-field-type <type>', 'custom field type (required: text|image|link)') .option('-f, --force', 'skip confirmation prompt') .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table') .action((options) => withCustomFieldHandler(program, handler => handler.add(options))); const valueCmd = customFieldCmd.command('value').description('Manage custom field viewer values'); valueCmd.command('save') .description('Save custom field viewer values') .option('--values <json>', 'JSON array of {viewerId,customFieldId,customFieldValue}') .option('--viewer-id <id>', 'viewer ID for single value') .option('--custom-field-id <id>', 'custom field ID for single value') .option('--custom-field-value <value>', 'custom field value for single value') .option('-f, --force', 'skip confirmation prompt') .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table') .action((options) => withCustomFieldHandler(program, handler => handler.saveValues(options))); } //# sourceMappingURL=custom-field.commands.js.map