You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Open-IM-Server/pkg/proto/msggateway/msggateway.proto

123 lines
3.1 KiB

// 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;
string token =5;
}
message FailedDetail{
string userID = 1;
}
message SuccessResult{
string userID = 1;
string status = 2;
repeated SuccessDetail detailPlatformStatus = 3;
}
}
message SingleDetail{
string userID = 1;
string status = 2;
repeated SinglePlatformToken singlePlatformToken = 3;
}
message SinglePlatformToken{
string platform = 1;
int32 total =2;
repeated string token = 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);
}