polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
34 lines • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PartnerHandler = void 0;
const base_handler_1 = require("./base.handler");
const errors_1 = require("../utils/errors");
const api_command_1 = require("../utils/api-command");
const partner_service_1 = require("../services/partner-service");
class PartnerHandler extends base_handler_1.BaseHandler {
constructor(authConfig, serviceConfig) {
super();
this.service = new partner_service_1.PartnerServiceSdk(authConfig, serviceConfig);
}
async registerUser(options) {
this.requireFields(options, ['company', 'mobile', 'contact', 'email']);
await (0, api_command_1.confirmWrite)(options.force, `Register partner user ${options.email}?`);
this.displayData(await this.service.registerUser((0, api_command_1.apiParams)(options)), options.output || 'table');
}
async createTencentOrder(options) {
this.requireFields(options, ['uin', 'orderId', 'email', 'mobile']);
if (!options.basicService && !options.premiumService) {
throw new errors_1.PolyVValidationError('Missing required option(s): basicService or premiumService', 'options', options, 'validation_failed');
}
await (0, api_command_1.confirmWrite)(options.force, `Create Tencent order ${options.orderId}?`);
this.displayData({ success: await this.service.createTencentOrder((0, api_command_1.apiParams)(options)) }, options.output || 'table');
}
requireFields(options, fields) {
const missing = fields.filter((field) => options[field] === undefined || options[field] === '');
if (missing.length > 0) {
throw new errors_1.PolyVValidationError(`Missing required option(s): ${missing.join(', ')}`, 'options', options, 'validation_failed');
}
}
}
exports.PartnerHandler = PartnerHandler;
//# sourceMappingURL=partner.handler.js.map