// Copyright © 2023 OpenIM. All rights reserved. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package OpenIMServer.msggateway; import "sdkws/sdkws.proto"; option go_package = "github.com/OpenIMSDK/Open-IM-Server/pkg/proto/msggateway"; message OnlinePushMsgReq { sdkws.MsgData msgData = 1; string pushToUserID = 2; } message OnlinePushMsgResp{ repeated SingleMsgToUserPlatform resp = 1; } message SingleMsgToUserResults { string userID =1; repeated SingleMsgToUserPlatform resp = 2; bool onlinePush = 3; } message OnlineBatchPushOneMsgReq{ sdkws.MsgData msgData = 1; repeated string pushToUserIDs = 2; } message OnlineBatchPushOneMsgResp{ repeated SingleMsgToUserResults singlePushResult= 1; } //message SendMsgByWSReq{ // string SendID = 1; // string RecvID = 2; // string Content = 3; // int64 SendTime = 4; // int64 MsgFrom = 5; // int64 ContentType = 6; // int64 SessionType = 7; // string OperationID = 8; // int64 PlatformID = 9; //} message SingleMsgToUserPlatform{ int64 ResultCode = 1; string RecvID = 2; int32 RecvPlatFormID = 3; } message GetUsersOnlineStatusReq{ repeated string userIDs = 1; } message GetUsersOnlineStatusResp{ repeated SuccessResult successResult = 1; repeated FailedDetail failedResult = 2; message SuccessDetail{ string platform = 1; string status = 2; string connID = 3; bool isBackground = 4; } message FailedDetail{ string userID = 1; } message SuccessResult{ string userID = 1; string status = 2; repeated SuccessDetail detailPlatformStatus = 3; } } message KickUserOfflineReq{ int32 platformID = 1; repeated string kickUserIDList = 2; } message KickUserOfflineResp{ } message MultiTerminalLoginCheckReq{ string userID = 1; int32 platformID = 2; string token = 3; string operationID = 4; } message MultiTerminalLoginCheckResp{ } service msgGateway { rpc OnlinePushMsg(OnlinePushMsgReq) returns(OnlinePushMsgResp); rpc GetUsersOnlineStatus(GetUsersOnlineStatusReq) returns(GetUsersOnlineStatusResp); rpc OnlineBatchPushOneMsg(OnlineBatchPushOneMsgReq) returns(OnlineBatchPushOneMsgResp); rpc SuperGroupOnlineBatchPushOneMsg(OnlineBatchPushOneMsgReq) returns(OnlineBatchPushOneMsgResp); rpc KickUserOffline(KickUserOfflineReq) returns(KickUserOfflineResp); rpc MultiTerminalLoginCheck(MultiTerminalLoginCheckReq) returns(MultiTerminalLoginCheckResp); }