@openim/protocol
Version:
OpenIM protocol
386 lines (385 loc) • 12.2 kB
TypeScript
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>;
}