UNPKG

fcr-core

Version:

Core APIs for building online scenes

488 lines (487 loc) 15.8 kB
import { AgoraRestfulClient, AgoraRteEntryRoomResponse } from '../imports'; import { FcrCloudRecordingConfig, FcrGroupCreateConfig, FcrGroupUpdateOptions, FcrLiveStreamingLayoutType, FcrLiveStreamingConfig, FcrSharePermissionProps, FcrAllowWatermarkPayloadBody, FcrAnnotationProps, FcrLanguageConfig, FcrLanguage } from '../type'; import { AgoraRteRegion } from '../imports'; import { FcrCheckInParams, FcrChatRoomTokenResData } from './type'; import { FcrPrivilegeUserRole, FcrPrivilegeUserRoleToStringMap, FcrSecuritySendChatPayload } from '../room-control/privilege-control/type'; import { FcrUserKickedOutType } from '../room-control/user-control/type'; import { AgoraRteAudioSourceType, AgoraRteMediaPublishState, AgoraRteVideoSourceType } from '../imports'; import { FcrObjectForgeInitConfig } from '../room-control/whiteboard-control-v2/type'; import { FcrSharePermissionState } from '../room-control/sharing-control/type'; export declare class FcrCoreServiceApi { private _client; protected logger: import("agora-foundation/lib/logger/type").Logger; private _pathPrefix; constructor(_client: AgoraRestfulClient, appId: string, region: AgoraRteRegion, pathIncludeRegion?: boolean); setRestfulClient(client: AgoraRestfulClient): void; addGroups(params: FcrGroupCreateConfig[], opts: { roomId: string; startTime: number; inProgress?: boolean; }): Promise<void>; updateGroups(params: FcrGroupUpdateOptions[], opts: { roomId: string; }): Promise<void>; deleteGroups(groupIds: string[], opts: { roomId: string; }): Promise<void>; deleteAllGroups(opts: { roomId: string; }): Promise<void>; addUsers(userList: string[], groupId: string, opts: { roomId: string; inProgress?: boolean; }): Promise<void>; removeUsers(userList: string[], groupId: string, opts: { roomId: string; inProgress?: boolean; }): Promise<void>; moveUsers(userList: string[], fromGroupId: string, toGroupId: string, opts: { roomId: string; inProgress?: boolean; }): Promise<void>; /*** merge audio ****/ mergeAudioStream(userId: string, opts: { roomId: string; }): Promise<any>; /*** split audio ****/ splitAudioStream(userId: string, opts: { roomId: string; }): Promise<any>; /*** user control****/ kickOut(userId: string, type: FcrUserKickedOutType, opts: { roomId: string; }): Promise<any>; kickOutByUserRoles(type: FcrUserKickedOutType, opts: { roomId: string; }, userRoles: string[]): Promise<void>; kickOutByUserIds(userId: string[], type: FcrUserKickedOutType, opts: { roomId: string; }): Promise<void>; /** room control **/ startRoom(roomId: string): Promise<any>; endRoom(roomId: string): Promise<any>; closeRoom(roomId: string): Promise<any>; startCloudRecording(config: FcrCloudRecordingConfig, roomId: string): Promise<any>; pauseCloudRecording(roomId: string): Promise<any>; resumeCloudRecording(roomId: string): Promise<any>; stopCloudRecording(roomId: string): Promise<any>; setCloudRecordingReady(roomId: string): Promise<any>; /** room session */ updateRoomSession(params: { userId: string; sessionId: string; sessionKey: string; duration: number; payload: unknown; targetId: string; targetRoles?: (typeof FcrPrivilegeUserRoleToStringMap)[keyof typeof FcrPrivilegeUserRoleToStringMap][]; }): Promise<any>; deleteRoomSession(params: { userId: string; sessionId: string; sessionKey: string; receiverIds: string[]; target: 1 | 2; action: 1 | 2; payload: unknown; }): Promise<any>; /** peer session */ updatePeerSession(params: { userId: string; sessionId: string; sessionKey: string; duration: number; payload: unknown; targetId: string; }): Promise<any>; deletePeerSession(params: { userId: string; sessionId: string; sessionKey: string; receiverIds: string[]; action: 1 | 2; payload: unknown; }): Promise<any>; checkIn(params: FcrCheckInParams): Promise<{ data: AgoraRteEntryRoomResponse; ts: number; }>; checkInInternal(params: FcrCheckInParams): Promise<{ data: AgoraRteEntryRoomResponse; ts: number; }>; updateUserName(params: { roomId: string; userId: string; userName: string; }): Promise<any>; updateUserProperties({ roomId, userUuid, properties, increments, cause, }: { roomId: string; userUuid: string; properties?: unknown; increments?: unknown; cause?: unknown; }): Promise<any>; deleteUserProperties({ roomId, userUuid, properties, cause, }: { roomId: string; userUuid: string; properties: string[]; cause?: unknown; }): Promise<any>; updateRoomProperties({ roomId, properties, increments, cause, }: { roomId: string; properties?: unknown; increments?: unknown; cause?: unknown; }): Promise<any>; deleteRoomProperties({ roomId, properties, cause, }: { roomId: string; properties: string[]; cause?: unknown; }): Promise<any>; getChatRoomToken(roomId: string, userId: string): Promise<FcrChatRoomTokenResData>; getUserToken(userId: string): Promise<FcrChatRoomTokenResData>; enableLockedRoom({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: FcrPrivilegeUserRole[]; }): Promise<any>; enablePassword({ roomId, enable, password, }: { roomId: string; enable: boolean; password?: string; }): Promise<any>; enableWaitingRoom({ roomId, enable }: { roomId: string; enable: boolean; }): Promise<any>; moveToWaitingRoomByUserIds(userIds: string[], roomId: string): Promise<any>; moveToWaitingRoomByUserRoles(toRoles: string[], roomId: string): Promise<any>; moveToMainRoomByUserIds(userIds: string[], roomId: string): Promise<any>; moveToMainRoomByUserRoles(toRoles: string[], roomId: string): Promise<any>; allowSendChat({ roomId, enable, targetRoles, payload, }: { roomId: string; enable: boolean; targetRoles: string[]; payload?: FcrSecuritySendChatPayload; }): Promise<any>; allowChangeName({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowStartAudio({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowWatermark(params: { roomId: string; enable: boolean; targetRoles: string[]; payload: FcrAllowWatermarkPayloadBody; }): Promise<any>; allowChangeUserName(params: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowJoinWithPromptSound({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowStartVideo({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowJoinWithMuteAudio({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowJoinWithMutedVideo({ roomId, enable, targetRoles, }: { roomId: string; enable: boolean; targetRoles: string[]; }): Promise<any>; updateUserRole({ roomId, localRole, remoteRole, userId, }: { roomId: string; userId: string; remoteRole: string; localRole?: string; }): Promise<any>; revokeUserRole({ roomId, remoteRole, localRole, userId, }: { roomId: string; userId: string; remoteRole: string; localRole: string; }): Promise<any>; claimHost({ roomId, userId, hostKey, }: { roomId: string; hostKey: string; userId: string; }): Promise<any>; stopLiveStreaming(roomId: string): Promise<any>; updateLiveStreamingLayout(roomId: string, layoutType: FcrLiveStreamingLayoutType): Promise<any>; startLiveStreaming(roomId: string, data: FcrLiveStreamingConfig): Promise<any>; callIp({ roomId, callType, ipAddress, }: { roomId: string; callType: string; ipAddress: string; }): Promise<any>; callPstn({ roomId, userName, userId, callNumber, }: { roomId: string; userId?: string; userName: string; callNumber: string; }): Promise<any>; hangup({ roomId, userId, callId }: { roomId: string; userId: string; callId: string; }): Promise<any>; /** * @description 获取白板信息 */ getWhiteboardToken({ roomId, userId }: { roomId: string; userId: string; }): Promise<{ data: FcrObjectForgeInitConfig; }>; /** * @description 获取批注token */ getAnnotationToken({ roomId, userId }: { roomId: string; userId: string; }): Promise<{ data: FcrObjectForgeInitConfig; }>; /** * @description 开启/关闭屏幕共享标注权限 */ toggleAnnotationActivityState(roomId: string, state: FcrSharePermissionState): Promise<any>; /** * @description 开启/关闭屏幕共享标注权限 */ syncScreenShareOwnerAnnotationOpenDone(roomId: string): Promise<any>; /** * @description 启用/禁用屏幕共享&白板 */ toggleShareEnable(params: { roomId: string; enable: boolean; targetRoles: string[]; payload?: FcrSharePermissionProps; }): Promise<{ msg: string; data: Record<string, FcrSharePermissionProps>; code: number; ts: number; }>; /** * @description 设置'启用/禁用屏幕共享&白板'的用户列表 */ toggleShareEnableByUserIds(params: { roomId: string; enable: boolean; toUserUuids: string[]; payload?: FcrSharePermissionProps; }): Promise<{ msg: string; data: Record<string, FcrSharePermissionProps>; code: number; ts: number; }>; /** * @description 开启 / 关闭屏幕共享 */ toggleScreenShare(params: { roomId: string; userId: string; enable: boolean; data: { videoState: number; videoSourceState: number; videoSourceType: number; audioState: number; audioSourceState: number; audioSourceType: number; }; }): Promise<{ msg: string; code: number; ts: number; }>; /** * @description 开 / 关白板 */ toggleWhiteboardActivityState(roomId: string, state: FcrSharePermissionState): Promise<any>; /** * @description 启用/禁用屏幕共享&白板 */ toggleAnnotation(params: { roomId: string; enable: boolean; targetRoles: string[]; payload: FcrAnnotationProps; }): Promise<{ msg: string; code: number; ts: number; }>; /** * @description 修改白板背景 */ setBackgroundColor(params: { roomId: string; backgroundColor: string; }): Promise<{ msg: string; code: number; }>; startShareScreen(params: { roomId: string; userId: string; config: { videoState: number; videoSourceType: number; audioState: number; audioSourceType: number; videoSourceUuid?: string; audioSourceUuid?: string; videoSourceState?: number; audioSourceState?: number; annotation?: { size: { width: number; height: number; }; }; }; }): Promise<{ data: { rtcToken: string; streamUuid: string; }; }>; stopShareScreen(params: { roomId: string; userId: string; }): Promise<any>; openInterpreter(params: { roomId: string; data: { interpreters: { userUuid: string; languagePair: string[]; }[]; }; }): Promise<{ code: number; msg: string; ts: number; }>; updateInterpreter(params: { roomId: string; data: { interpreters: { userUuid: string; languagePair: string[]; }[]; }; }): Promise<{ code: number; msg: string; ts: number; }>; closeInterpreter(params: { roomId: string; }): Promise<any>; createStreamBatch(roomUuid: string, streams: { streamName?: string; userUuid?: string; streamUuid?: string; videoState?: AgoraRteMediaPublishState; audioState?: AgoraRteMediaPublishState; videoSourceType?: AgoraRteVideoSourceType; audioSourceType?: AgoraRteAudioSourceType; videoSourceUuid?: string; audioSourceUuid?: string; }[]): Promise<any>; updateStreamBatch(roomUuid: string, streams: { streamName?: string; userUuid?: string; streamUuid?: string; videoState?: AgoraRteMediaPublishState; audioState?: AgoraRteMediaPublishState; videoSourceType?: AgoraRteVideoSourceType; audioSourceType?: AgoraRteAudioSourceType; videoSourceUuid?: string; audioSourceUuid?: string; }[]): Promise<any>; updateStreamBatchByCondition({ roomUuid, videoState, audioState, includeRoles, excludeRoles, condition, }: { roomUuid: string; videoState?: number; audioState?: number; includeRoles?: string[]; excludeRoles?: string[]; condition?: { videoSourceType?: number; audioSourceType?: number; }; }): Promise<any>; deleteStreamBatch(roomUuid: string, streams: { streamUuid: string; }[]): Promise<any>; startCaption(params: { roomUuid: string; userUuid: string; config: FcrLanguageConfig; }): Promise<any>; stopCaption(params: { roomUuid: string; userUuid: string; }): Promise<any>; startTranscribing(params: { roomUuid: string; userUuid: string; config: FcrLanguageConfig; }): Promise<any>; stopTranscribing(params: { roomUuid: string; userUuid: string; }): Promise<any>; updateSourceLanguage(params: { roomUuid: string; userUuid: string; language: FcrLanguage; }): Promise<any>; subscribeTranscribingLanguage(params: { roomUuid: string; userUuid: string; language: FcrLanguage; }): Promise<any>; unsubscribeTranscribingLanguage(params: { roomUuid: string; userUuid: string; }): Promise<any>; allowStartCaption(params: { roomUuid: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowStartTranscribing(params: { roomUuid: string; enable: boolean; targetRoles: string[]; }): Promise<any>; allowUpdateSttSourceLanguage(params: { roomUuid: string; enable: boolean; targetRoles: string[]; }): Promise<any>; }