syntax = "proto3"; import "Open_IM/pkg/proto/sdk_ws/ws.proto"; option go_package = "./group;group"; package group; message CommonResp{ int32 ErrCode = 1; string ErrMsg = 2; } message GroupAddMemberInfo{ string UserID = 1; int32 RoleLevel = 2; } message CreateGroupReq{ repeated GroupAddMemberInfo InitMemberList = 1; open_im_sdk.GroupInfo GroupInfo = 2; string OperationID = 3; string OpUserID = 4; //app manager or group owner string OwnerUserID = 5; //owner } message CreateGroupResp{ int32 ErrCode = 1; string ErrMsg = 2; open_im_sdk.GroupInfo GroupInfo = 3; } message GetGroupsInfoReq{ repeated string GroupIDList = 1; string OperationID = 2; string OpUserID = 3; //No verification permission } message GetGroupsInfoResp{ int32 ErrCode = 1; string ErrMsg = 2; repeated open_im_sdk.GroupInfo GroupInfoList = 3; } message SetGroupInfoReq{ open_im_sdk.GroupInfo GroupInfo = 1; string OpUserID = 2; //app manager or group owner string OperationID = 3; } message SetGroupInfoResp{ CommonResp CommonResp = 1; } message GetGroupApplicationListReq { string OpUserID = 1; //app manager or group owner(manager) string OperationID = 2; string FromUserID = 3; //owner or manager } message GetGroupApplicationListResp { int32 ErrCode = 1; string ErrMsg = 2; repeated open_im_sdk.GroupRequest GroupRequestList = 3; } message TransferGroupOwnerReq { string GroupID = 1; string OldOwnerUserID = 2; string NewOwnerUserID = 3; string OperationID = 4; string OpUserID = 5; //app manager or group owner } message TransferGroupOwnerResp{ CommonResp CommonResp = 1; } message JoinGroupReq{ string GroupID = 1; string ReqMessage = 2; string OpUserID = 3; string OperationID = 4; } message JoinGroupResp{ CommonResp CommonResp = 1; } message GroupApplicationResponseReq{ string OperationID = 1; string OpUserID = 2; string GroupID = 3; string FromUserID = 4; // string HandledMsg = 5; int32 HandleResult = 6; } message GroupApplicationResponseResp{ CommonResp CommonResp = 1; } message QuitGroupReq{ string GroupID = 1; string OperationID = 2; string OpUserID = 3; } message QuitGroupResp{ CommonResp CommonResp = 1; } message GetGroupMemberListReq { string GroupID = 1; string OpUserID = 2; //No verification permission string OperationID = 3; int32 Filter = 4; int32 NextSeq = 5; } message GetGroupMemberListResp { int32 ErrCode = 1; string ErrMsg = 2; repeated open_im_sdk.GroupMemberFullInfo memberList = 3; int32 nextSeq = 4; } message GetGroupMembersInfoReq { string GroupID = 1; repeated string memberList = 2; string OpUserID = 3; //No verification permission string OperationID = 4; } message GetGroupMembersInfoResp { int32 ErrCode = 1; string ErrMsg = 2; repeated open_im_sdk.GroupMemberFullInfo memberList = 3; } message KickGroupMemberReq { string GroupID = 1; repeated string KickedUserIDList = 2; string Reason = 3; string OperationID = 5; string OpUserID = 6; //app manger or group manager } message Id2Result { string UserID = 1; int32 Result = 2; //0 ok; -1 error } message KickGroupMemberResp { int32 ErrCode = 1; string ErrMsg = 2; repeated Id2Result Id2ResultList = 3; } message GetJoinedGroupListReq { string FromUserID = 1; string operationID = 2; string OpUserID = 3; //app manager or FromUserID } message GetJoinedGroupListResp{ int32 ErrCode = 1; string ErrMsg = 2; repeated open_im_sdk.GroupInfo GroupList = 3; } message InviteUserToGroupReq { string OperationID = 2; string GroupID = 3; string Reason = 4; repeated string InvitedUserIDList = 5; string OpUserID = 6; //group member or app manager } message InviteUserToGroupResp { int32 ErrCode = 1; string ErrMsg = 2; repeated Id2Result Id2ResultList = 3; // 0 ok, -1 error } message GetGroupAllMemberReq { string GroupID = 1; string OpUserID = 2; //No verification permission string OperationID = 3; } message GetGroupAllMemberResp { int32 ErrCode = 1; string ErrMsg = 2; repeated open_im_sdk.GroupMemberFullInfo memberList = 3; } service group{ rpc createGroup(CreateGroupReq) returns(CreateGroupResp); rpc joinGroup(JoinGroupReq) returns(JoinGroupResp); rpc quitGroup(QuitGroupReq) returns(QuitGroupResp); rpc getGroupsInfo(GetGroupsInfoReq) returns(GetGroupsInfoResp); rpc setGroupInfo(SetGroupInfoReq) returns(SetGroupInfoResp); rpc getGroupApplicationList(GetGroupApplicationListReq) returns(GetGroupApplicationListResp); rpc transferGroupOwner(TransferGroupOwnerReq) returns(TransferGroupOwnerResp); rpc groupApplicationResponse(GroupApplicationResponseReq) returns(GroupApplicationResponseResp); rpc getGroupMemberList(GetGroupMemberListReq) returns(GetGroupMemberListResp); rpc getGroupMembersInfo(GetGroupMembersInfoReq) returns(GetGroupMembersInfoResp); rpc kickGroupMember(KickGroupMemberReq) returns (KickGroupMemberResp); rpc getJoinedGroupList(GetJoinedGroupListReq) returns (GetJoinedGroupListResp); rpc inviteUserToGroup(InviteUserToGroupReq) returns (InviteUserToGroupResp); rpc getGroupAllMember(GetGroupAllMemberReq) returns(GetGroupAllMemberResp); }