polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
262 lines • 6.54 kB
TypeScript
export interface ChannelCreateRequest {
name: string;
newScene: 'topclass' | 'cloudclass' | 'telecast' | 'akt';
template: 'ppt' | 'video';
channelPasswd?: string;
pureRtcEnabled?: boolean;
linkMicLimit?: number;
categoryId?: string;
startTime?: number;
endTime?: number;
}
export interface ChannelCreateResponse {
code: number;
status: 'success' | 'error';
message: string;
data: {
channelId: string;
userId: string;
channelPasswd: string;
[key: string]: any;
};
}
export interface ChannelModel {
channelId: string;
name: string;
userId: string;
channelPasswd: string;
newScene: string;
template: string;
status?: 'live' | 'waiting' | 'end' | 'unStart';
description?: string;
maxViewers?: number;
autoRecord?: boolean;
createdAt?: Date;
updatedAt?: Date;
}
export interface ChannelCreateOptions {
name: string;
description?: string;
maxViewers?: number;
autoRecord?: boolean;
output?: 'table' | 'json';
scene?: 'topclass' | 'cloudclass' | 'telecast' | 'akt';
template?: 'ppt' | 'video';
password?: string;
}
export interface ChannelValidationError {
field: string;
message: string;
value: any;
rule: 'required' | 'max_length' | 'min_length' | 'pattern' | 'enum' | 'type';
}
export interface ChannelServiceConfig {
baseUrl: string;
timeout: number;
maxRetries: number;
debug: boolean;
}
export interface ChannelListRequest {
page?: number;
limit?: number;
categoryId?: string;
keyword?: string;
labelId?: string;
}
export interface ChannelListResponse {
code: number;
status: 'success' | 'error';
message: string;
data: {
channels: string[];
total?: number;
page?: number;
limit?: number;
};
}
export interface ChannelListItem {
channelId: string;
name: string;
status: 'live' | 'waiting' | 'end' | 'unStart';
createdAt: Date;
scene: string;
template: string;
description?: string;
maxViewers?: number;
}
export interface ChannelListOptions {
page?: number;
limit?: number;
output?: 'table' | 'json';
categoryId?: string;
keyword?: string;
labelId?: string;
}
export interface ChannelDetailRequest {
channelId: string;
}
export interface UserCategory {
categoryId: number;
categoryName: string;
userId: string;
rank: number;
}
export interface LabelData {
id: string;
}
export interface AuthSettings {
channelId: number;
userId: string;
rank: number;
globalSettingEnabled: 'Y' | 'N';
enabled: 'Y' | 'N';
authType: 'none' | 'code' | 'pay' | 'phone' | 'info' | 'wxshare' | 'custom' | 'external' | 'direct';
authTips: string;
payAuthTips: string;
codeAuthTips: string;
infoAuthTips: string;
authCode: string;
qcodeTips: string;
qcodeImg: string;
price: number;
watchEndTime: number | null;
validTimePeriod: number | null;
customKey: string;
customUri: string;
externalKey: string;
externalUri: string;
externalRedirectUri: string;
directKey: string;
trialWatchEnabled: 'Y' | 'N';
trialWatchTime: number | null;
trialWatchEndTime: number | null;
whiteListInputTips: string;
whiteListEntryText: string;
infoDesc: string;
customTeacherId?: string;
expectedArrivalEnabled?: 'Y' | 'N';
}
export interface ChannelDetailModel {
channelId: number;
name: string;
scene: string;
newScene: string;
template: string;
channelPasswd: string;
publisher: string;
startTime: number;
endTime: number;
pureRtcEnabled?: 'Y' | 'N';
pageView: number;
likes: number;
coverImg: string;
splashImg: string;
splashEnabled: 'Y' | 'N';
bgImg: string | null;
desc: string;
consultingMenuEnabled: 'Y' | 'N';
maxViewerRestrict: 'Y' | 'N';
maxViewer: number;
watchStatus: 'live' | 'playback' | 'end' | 'waiting' | 'unStart' | 'banpush';
watchStatusText: string;
userCategory: UserCategory;
authSettings: AuthSettings[];
linkMicLimit: number;
createdAccountId: string;
createdAccountEmail: string;
createdTime: number;
labelData: string[];
clientAloneTemplateBackgroundUrl?: string;
liveCdnBackgroundUrl?: string;
pushUrl?: string;
pushSecret?: string;
streamType?: string;
onlyOutEnabled?: 'Y' | 'N';
}
export interface ChannelDetailResponse {
code: number;
status: 'success' | 'error';
message?: string;
requestId?: string;
success: boolean;
data: ChannelDetailModel;
error?: {
code: number;
desc: string;
};
}
export interface ChannelGetOptions {
channelId: string;
output?: 'table' | 'json';
}
export interface BasicSetting {
name?: string;
channelPasswd?: string;
publisher?: string;
desc?: string;
startTime?: number;
endTime?: number;
pageView?: number;
likes?: number;
maxViewer?: number;
maxViewerRestrict?: 'Y' | 'N';
closeDanmu?: 'Y' | 'N';
coverImg?: string;
splashImg?: string;
}
export interface ChannelUpdateRequest {
channelId: string;
basicSetting?: BasicSetting;
authSettings?: AuthSettings[];
}
export interface ChannelUpdateOptions {
channelId: string;
name?: string;
description?: string;
publisher?: string;
password?: string;
maxViewers?: number;
autoRecord?: boolean;
startTime?: number;
endTime?: number;
pageView?: number;
likes?: number;
coverImg?: string;
splashImg?: string;
output?: 'table' | 'json';
}
export interface ChannelUpdateResponse {
code: number;
status: 'success' | 'error';
message?: string;
requestId?: string;
success: boolean;
data: string | null;
error?: {
code: number;
desc: string;
};
}
export interface ChannelDeleteRequest {
channelIds: string[];
}
export interface ChannelDeleteResponse {
code: number;
status: 'success' | 'error';
message?: string;
data: boolean | string;
}
export interface ChannelDeleteOptions {
channelId: string;
force?: boolean;
output?: 'table' | 'json';
}
export interface ConfirmationResponse {
confirmed: boolean;
input?: string;
}
export interface ChannelBatchDeleteRequest extends ChannelDeleteRequest {
}
export interface ChannelBatchDeleteResponse extends ChannelDeleteResponse {
}
//# sourceMappingURL=channel.d.ts.map