polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
177 lines • 6.19 kB
TypeScript
import { BaseHandler, OutputFormat } from './base.handler';
import { ProductServiceConfig, ProductAddOptions, ProductUpdateOptions, ProductDeleteOptions, ProductLibraryListOptions, ProductLibraryCreateOptions, ProductLibraryUpdateOptions, ProductLibraryDeleteOptions, ProductTagListOptions, ProductTagCreateOptions, ProductTagUpdateOptions, ProductTagDeleteOptions, ProductOrderListOptions, ProductOrderGetOptions, ProductOrderBatchStatusOptions } from '../types/product';
import { AuthConfig } from '../types/auth';
export interface ProductListOptions {
page?: number;
size?: number;
channelId?: string;
platform?: boolean;
output?: OutputFormat;
}
export interface ProductUpdateEnabledOptions {
channelId: string;
enabled: 'Y' | 'N';
force?: boolean;
output?: OutputFormat;
}
export declare class ProductHandler extends BaseHandler {
private readonly productService;
constructor(authConfig: AuthConfig, serviceConfig: ProductServiceConfig);
listProducts(options?: ProductListOptions): Promise<void>;
private validateListOptions;
private transformToListRequest;
private displayProductsList;
private displayProductsTable;
private formatProductType;
private formatProductStatus;
private formatPrice;
addProduct(options: ProductAddOptions): Promise<void>;
private displayAddResult;
updateProduct(options: ProductUpdateOptions): Promise<void>;
private displayUpdateResult;
deleteProduct(options: ProductDeleteOptions): Promise<void>;
private displayDeleteResult;
listUserProducts(options?: ProductLibraryListOptions): Promise<void>;
createUserProduct(options: ProductLibraryCreateOptions): Promise<void>;
updateUserProduct(options: ProductLibraryUpdateOptions): Promise<void>;
deleteUserProduct(options: ProductLibraryDeleteOptions): Promise<void>;
listProductTags(options: ProductTagListOptions): Promise<void>;
createProductTag(options: ProductTagCreateOptions): Promise<void>;
updateProductTag(options: ProductTagUpdateOptions): Promise<void>;
deleteProductTag(options: ProductTagDeleteOptions): Promise<void>;
listProductOrders(options?: ProductOrderListOptions): Promise<void>;
getProductOrder(options: ProductOrderGetOptions): Promise<void>;
batchUpdateProductOrderStatus(options: ProductOrderBatchStatusOptions): Promise<void>;
getChannelProductEnabled(options: {
channelId: string;
output?: OutputFormat;
}): Promise<void>;
updateChannelProductEnabled(options: ProductUpdateEnabledOptions): Promise<void>;
batchAddChannelProducts(options: {
channelId: string;
products: any[];
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
batchDeleteChannelProducts(options: {
channelId: string;
productIds: number[];
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
batchShelfChannelProducts(options: {
channelId: string;
productIds: number[];
shelf: 1 | 2;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
shelfChannelProduct(options: {
channelId: string;
productId: number;
shelf: 1 | 2;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
sortChannelProduct(options: {
channelId: string;
productId: number;
type: 10 | 20 | 50;
sort?: number;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
pushChannelProduct(options: {
channelId: string;
productId: number;
pushCardType?: 'smallCard' | 'bigCard';
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
cancelPushChannelProduct(options: {
channelId: string;
productId: number;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
referenceProduct(options: {
channelId: string;
originId: string;
status: 1 | 2;
withTags?: boolean;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
getProductPushRule(options: {
channelId: string;
output?: OutputFormat;
}): Promise<void>;
updateProductPushRule(options: Record<string, any> & {
channelId: string;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
listChannelProductTags(options: {
channelId: string;
page?: number;
size?: number;
output?: OutputFormat;
}): Promise<void>;
createChannelProductTag(options: {
channelId: string;
name: string;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
updateChannelProductTag(options: {
channelId: string;
id: number;
name: string;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
deleteChannelProductTag(options: {
channelId: string;
id: number;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
listProductStats(options: {
channelId: string;
productId?: string;
productName?: string;
sessionId?: string;
page?: number;
size?: number;
output?: OutputFormat;
}): Promise<void>;
getProductStatsSummary(options: {
channelId: string;
sessionId?: string;
output?: OutputFormat;
}): Promise<void>;
sortChannelProductRank(options: {
channelId: string;
productId: number;
rank: number;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
toppingChannelProduct(options: {
channelId: string;
productId: number;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
untoppingChannelProduct(options: {
channelId: string;
productId: number;
force?: boolean;
output?: OutputFormat;
}): Promise<void>;
private displayWriteResult;
private requireFields;
private validateYn;
private requireAtLeastOne;
}
//# sourceMappingURL=product.handler.d.ts.map