UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

64 lines 4.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerInviteSalesCommands = registerInviteSalesCommands; const invite_sales_handler_1 = require("../handlers/invite-sales.handler"); const errors_1 = require("../utils/errors"); const api_command_1 = require("../utils/api-command"); function withInviteSalesHandler(program, run) { return (async () => { try { const { authConfig, serviceConfig } = await (0, api_command_1.loadApiCommandConfig)((0, api_command_1.commandParentOptions)(program)); await run(new invite_sales_handler_1.InviteSalesHandler(authConfig, serviceConfig)); } catch (error) { (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error))); process.exit(1); } })(); } function addPaging(command) { return command .option('--page <page>', 'page number', api_command_1.parsePositiveInteger) .option('--page-size <size>', 'page size', api_command_1.parsePositiveInteger) .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table'); } function registerInviteSalesCommands(program) { const inviteSalesCmd = program.command('invite-sales').description('Manage user invite sales'); addPaging(inviteSalesCmd.command('list').description('List invite sales')) .option('--viewer-union-id <id>', 'invite sale viewer union ID') .option('--mobile <mobile>', 'mobile phone number') .option('-k, --keyword <keyword>', 'nickname keyword') .option('--organization-id <id>', 'organization ID', api_command_1.parsePositiveInteger) .action((options) => withInviteSalesHandler(program, handler => handler.list(options))); inviteSalesCmd.command('add') .description('Add invite sales') .requiredOption('--viewer-union-ids <ids>', 'comma-separated viewer union IDs, max 200') .option('--organization-id <id>', 'organization ID', api_command_1.parsePositiveInteger) .option('-f, --force', 'skip confirmation prompt') .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table') .action((options) => withInviteSalesHandler(program, handler => handler.add(options))); inviteSalesCmd.command('update') .description('Update invite sales organization') .requiredOption('--viewer-union-ids <ids>', 'comma-separated viewer union IDs, max 200') .requiredOption('--organization-id <id>', 'organization ID', api_command_1.parsePositiveInteger) .option('-f, --force', 'skip confirmation prompt') .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table') .action((options) => withInviteSalesHandler(program, handler => handler.update(options))); inviteSalesCmd.command('remove') .description('Remove invite sales') .requiredOption('--viewer-union-ids <ids>', 'comma-separated viewer union IDs, max 100') .option('--new-viewer-union-id <id>', 'new invite sale ID to receive followed viewers') .option('-f, --force', 'skip confirmation prompt') .option('-o, --output <format>', 'output format (table|json)', api_command_1.validateOutputFormat, 'table') .action((options) => withInviteSalesHandler(program, handler => handler.remove(options))); const followViewerCmd = inviteSalesCmd.command('follow-viewer').description('Manage invite sales follow viewers'); addPaging(followViewerCmd.command('list').description('List invite sales follow viewers')) .option('--invite-customer-id <id>', 'invite sale user ID') .option('--invite-customer-nickname <keyword>', 'invite sale nickname keyword') .option('--viewer-id <id>', 'viewer ID') .option('--username <keyword>', 'viewer nickname keyword') .option('--telephone <telephone>', 'viewer telephone') .option('--follow-status-list <statuses>', 'comma-separated follow statuses, e.g. 0,1') .action((options) => withInviteSalesHandler(program, handler => handler.listFollowViewers(options))); } //# sourceMappingURL=invite-sales.commands.js.map