UNPKG

@openim/protocol

Version:

OpenIM protocol

386 lines (385 loc) 12.2 kB
import { type GroupInfo, type GroupMemberFullInfo, type OfflinePushInfo, type PublicUserInfo, type RequestPagination, type UserInfo } from "../sdkws/sdkws"; import { type BoolValue, type Int64Value, type StringValue } from "../wrapperspb/wrapperspb"; export declare const protobufPackage = "openim.rtc"; export interface ParticipantMetaData { groupInfo: GroupInfo | undefined; groupMemberInfo: GroupMemberFullInfo | undefined; userInfo: PublicUserInfo | undefined; } export interface GetJoinTokenReq { room: string; identity: string; metaData: ParticipantMetaData | undefined; } export interface GetJoinTokenResp { jwt: string; liveURL: string; } export interface SignalReq { invite?: SignalInviteReq | undefined; inviteInGroup?: SignalInviteInGroupReq | undefined; cancel?: SignalCancelReq | undefined; accept?: SignalAcceptReq | undefined; hungUp?: SignalHungUpReq | undefined; reject?: SignalRejectReq | undefined; getTokenByRoomID?: SignalGetTokenByRoomIDReq | undefined; } export interface SignalSendCustomSignalReq { roomID: string; customInfo: string; } export interface SignalSendCustomSignalResp { } export interface SignalGetMeetingsReq { userID: string; } export interface SignalGetMeetingsResp { meetingInfoList: MeetingInfo[]; } export interface SignalOperateStreamReq { streamType: string; roomID: string; userID: string; mute: boolean; muteAll: boolean; } export interface SignalOperateStreamResp { } export interface SignalOnStreamChangeReq { roomID: string; streamType: string; mute: boolean; } export interface SignalCreateMeetingReq { meetingDuration: number; roomID: string; meetingName: string; meetingHostUserID: string; participant: ParticipantMetaData | undefined; inviteeUserIDList: string[]; startTime: number; ex: string; } export interface SignalCreateMeetingResp { token: string; roomID: string; liveURL: string; } export interface SignalJoinMeetingReq { roomID: string; userID: string; participant: ParticipantMetaData | undefined; } export interface SignalJoinMeetingResp { token: string; roomID: string; liveURL: string; } export interface SignalResp { invite?: SignalInviteResp | undefined; inviteInGroup?: SignalInviteInGroupResp | undefined; cancel?: SignalCancelResp | undefined; accept?: SignalAcceptResp | undefined; hungUp?: SignalHungUpResp | undefined; reject?: SignalRejectResp | undefined; getTokenByRoomID?: SignalGetTokenByRoomIDResp | undefined; } export interface InvitationInfo { inviterUserID: string; inviteeUserIDList: string[]; customData: string; groupID: string; roomID: string; timeout: number; mediaType: string; platformID: number; sessionType: number; initiateTime: number; busyLineUserIDList: string[]; } export interface MeetingInfo { roomID: string; meetingName: string; ex: string; hostUserID: string; /** 邀请列表 */ inviteeUserIDList: string[]; createTime: number; startTime: number; endTime: number; /** 成员是否能自己解除禁言 */ participantCanUnmuteSelf: boolean; /** 成员是否能开启视频 */ participantCanEnableVideo: boolean; /** 仅主持人可邀请用户 */ onlyHostInviteUser: boolean; /** 仅主持人可共享屏幕 */ onlyHostShareScreen: boolean; /** 加入是否默认关麦克风 */ joinDisableMicrophone: boolean; /** 加入是否默认关视频 */ joinDisableVideo: boolean; /** 是否全员禁用视频 */ isMuteAllVideo: boolean; /** 是否全员禁用麦克风 */ isMuteAllMicrophone: boolean; /** 可共享屏幕的ID列表 */ canScreenUserIDList: string[]; /** 当前被禁言麦克风的id列表 */ disableMicrophoneUserIDList: string[]; /** 当前禁用视频流的ID列表 */ disableVideoUserIDList: string[]; /** 置顶ID列表 */ pinedUserIDList: string[]; /** 正在被观看用户列表 */ beWatchedUserIDList: string[]; } export interface SignalInviteReq { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; participant: ParticipantMetaData | undefined; userID: string; } export interface SignalInviteResp { token: string; roomID: string; liveURL: string; busyLineUserIDList: string[]; } export interface SignalInviteInGroupReq { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; participant: ParticipantMetaData | undefined; userID: string; } export interface SignalInviteInGroupResp { token: string; roomID: string; liveURL: string; busyLineUserIDList: string[]; } export interface SignalCancelReq { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; participant: ParticipantMetaData | undefined; userID: string; } export interface SignalCancelResp { } export interface SignalAcceptReq { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; participant: ParticipantMetaData | undefined; opUserPlatformID: number; userID: string; } export interface SignalAcceptResp { token: string; roomID: string; liveURL: string; } export interface SignalHungUpReq { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; userID: string; } export interface SignalHungUpResp { } export interface SignalRejectReq { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; participant: ParticipantMetaData | undefined; opUserPlatformID: number; userID: string; } export interface SignalRejectResp { } export interface SignalGetRoomByGroupIDReq { groupID: string; } export interface SignalGetRoomByGroupIDResp { invitation: InvitationInfo | undefined; participant: ParticipantMetaData[]; roomID: string; } export interface SignalOnRoomParticipantConnectedReq { invitation: InvitationInfo | undefined; participant: ParticipantMetaData[]; groupID: string; } export interface SignalOnRoomParticipantDisconnectedReq { invitation: InvitationInfo | undefined; participant: ParticipantMetaData[]; groupID: string; } export interface SignalGetTokenByRoomIDReq { roomID: string; participant: ParticipantMetaData | undefined; userID: string; } export interface SignalGetTokenByRoomIDResp { token: string; liveURL: string; } export interface SignalUpdateMeetingInfoReq { roomID: string; meetingName: StringValue | undefined; ex: StringValue | undefined; inviteeUserIDList: string[]; startTime: Int64Value | undefined; endTime: Int64Value | undefined; participantCanUnmuteSelf: BoolValue | undefined; participantCanEnableVideo: BoolValue | undefined; onlyHostInviteUser: BoolValue | undefined; onlyHostShareScreen: BoolValue | undefined; joinDisableMicrophone: BoolValue | undefined; joinDisableVideo: BoolValue | undefined; isMuteAllVideo: BoolValue | undefined; isMuteAllMicrophone: BoolValue | undefined; addCanScreenUserIDList: string[]; reduceCanScreenUserIDList: string[]; canScreenUserIDList: string[]; addDisableMicrophoneUserIDList: string[]; reduceDisableMicrophoneUserIDList: string[]; disableMicrophoneUserIDList: string[]; addDisableVideoUserIDList: string[]; reduceDisableVideoUserIDList: string[]; disableVideoUserIDList: string[]; addPinedUserIDList: string[]; reducePinedUserIDList: string[]; pinedUserIDList: string[]; addBeWatchedUserIDList: string[]; reduceBeWatchedUserIDList: string[]; beWatchedUserIDList: string[]; } export interface SignalUpdateMeetingInfoResp { } export interface SignalCloseRoomReq { roomID: string; } export interface SignalCloseRoomResp { } export interface SignalMessageAssembleReq { signalReq: SignalReq | undefined; } export interface SignalMessageAssembleResp { signalResp: SignalResp | undefined; } export interface SignalGetRoomsReq { roomIDs: string[]; } export interface SignalGetRoomsResp { roomList: SignalGetRoomByGroupIDResp[]; } export interface GetSignalInvitationInfoReq { roomID: string; } export interface GetSignalInvitationInfoResp { invitationInfo: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; } export interface GetSignalInvitationInfoStartAppReq { userID: string; } export interface GetSignalInvitationInfoStartAppResp { invitation: InvitationInfo | undefined; offlinePushInfo: OfflinePushInfo | undefined; } export interface SignalUser { userID: string; nickname: string; status: number; } export interface SignalRecord { roomID: string; sID: string; fileName: string; mediaType: string; sessionType: number; inviterUserID: string; inviterUserNickname: string; groupID: string; groupName: string; inviterUsers: SignalUser[]; createTime: number; endTime: number; size: string; fileURL: string; } export interface MeetingUser { userID: string; nickname: string; } export interface FileRecord { size: string; fileURL: string; } export interface MeetingRecord { roomID: string; meetingName: string; ex: string; hostUserID: string; hostUserNickname: string; createTime: number; startTime: number; endTime: number; joinedUsers: MeetingUser[]; status: number; fileRecords: FileRecord[]; } export interface GetSignalInvitationRecordsReq { pagination: RequestPagination | undefined; sessionType: number; sendID: string; recvID: string; startTime: number; endTime: number; JoinedUsers: UserInfo[]; } export interface GetSignalInvitationRecordsResp { total: number; signalRecords: SignalRecord[]; } export interface DeleteSignalRecordsReq { sIDs: string[]; } export interface DeleteSignalRecordsResp { } export interface GetMeetingRecordsReq { hostUserID: string; joinedUserID: string; startTime: number; endTime: number; pagination: RequestPagination | undefined; } export interface GetMeetingRecordsResp { total: number; meetingRecords: MeetingRecord[]; } export interface DeleteMeetingRecordsReq { roomIDs: string[]; } export interface DeleteMeetingRecordsResp { } export interface RtcService { SignalMessageAssemble(request: SignalMessageAssembleReq): Promise<SignalMessageAssembleResp>; SignalGetRoomByGroupID(request: SignalGetRoomByGroupIDReq): Promise<SignalGetRoomByGroupIDResp>; SignalGetTokenByRoomID(request: SignalGetTokenByRoomIDReq): Promise<SignalGetTokenByRoomIDResp>; SignalGetRooms(request: SignalGetRoomsReq): Promise<SignalGetRoomsResp>; GetSignalInvitationInfo(request: GetSignalInvitationInfoReq): Promise<GetSignalInvitationInfoResp>; GetSignalInvitationInfoStartApp(request: GetSignalInvitationInfoStartAppReq): Promise<GetSignalInvitationInfoStartAppResp>; /** meeting */ SignalCreateMeeting(request: SignalCreateMeetingReq): Promise<SignalCreateMeetingResp>; SignalJoinMeeting(request: SignalJoinMeetingReq): Promise<SignalJoinMeetingResp>; SignalUpdateMeetingInfo(request: SignalUpdateMeetingInfoReq): Promise<SignalUpdateMeetingInfoResp>; SignalCloseRoom(request: SignalCloseRoomReq): Promise<SignalCloseRoomResp>; SignalGetMeetings(request: SignalGetMeetingsReq): Promise<SignalGetMeetingsResp>; SignalOperateStream(request: SignalOperateStreamReq): Promise<SignalOperateStreamResp>; /** custom signal */ SignalSendCustomSignal(request: SignalSendCustomSignalReq): Promise<SignalSendCustomSignalResp>; /** rtc cms */ GetSignalInvitationRecords(request: GetSignalInvitationRecordsReq): Promise<GetSignalInvitationRecordsResp>; DeleteSignalRecords(request: DeleteSignalRecordsReq): Promise<DeleteSignalRecordsResp>; GetMeetingRecords(request: GetMeetingRecordsReq): Promise<GetMeetingRecordsResp>; DeleteMeetingRecords(request: DeleteMeetingRecordsReq): Promise<DeleteMeetingRecordsResp>; }