syntax = "proto3"; import "Open-IM-Server/pkg/proto/sdk_ws/ws.proto"; import "Open-IM-Server/pkg/proto/sdk_ws/wrappers.proto"; option go_package = "Open_IM/pkg/proto/group;group"; package group; message CreateGroupReq{ repeated string initMemberList = 1; server_api_params.GroupInfo groupInfo = 2; repeated string adminUserIDs = 3; string ownerUserID = 5; //owner } message CreateGroupResp{ server_api_params.GroupInfo groupInfo = 3; } message GetGroupsInfoReq{ repeated string groupIDList = 1; } message GetGroupsInfoResp{ repeated server_api_params.GroupInfo groupInfoList = 3; } message SetGroupInfoReq{ server_api_params.GroupInfoForSet groupInfoForSet = 1; } message SetGroupInfoResp{ } message GetGroupApplicationListReq { server_api_params.RequestPagination pagination = 1; string fromUserID = 3; //owner or admin } message GetGroupApplicationListResp { int32 total = 1; repeated server_api_params.GroupRequest groupRequestList = 3; } message GetUserReqApplicationListReq{ string userID = 1; server_api_params.RequestPagination pagination = 2; } message GetUserReqApplicationListResp{ int32 total = 1; repeated server_api_params.GroupRequest groupRequestList = 2; } message TransferGroupOwnerReq { string groupID = 1; string oldOwnerUserID = 2; string newOwnerUserID = 3; } message TransferGroupOwnerResp{ } message JoinGroupReq{ string groupID = 1; string reqMessage = 2; int32 joinSource = 5; string inviterUserID = 6; } message JoinGroupResp{ } message GroupApplicationResponseReq{ string groupID = 3; string fromUserID = 4; // string handledMsg = 5; int32 handleResult = 6; } message GroupApplicationResponseResp{ } message QuitGroupReq{ string groupID = 1; } message QuitGroupResp{ } message GetGroupMemberListReq { string groupID = 1; int32 filter = 4; server_api_params.RequestPagination pagination = 2; } message GetGroupMemberListResp { int32 total = 1; repeated server_api_params.GroupMemberFullInfo memberList = 3; } message GetGroupMembersInfoReq { string groupID = 1; repeated string memberList = 2; } message GetGroupMembersInfoResp { repeated server_api_params.GroupMemberFullInfo memberList = 3; } message KickGroupMemberReq { string groupID = 1; repeated string kickedUserIDList = 2; string reason = 3; } message Id2Result { string userID = 1; int32 result = 2; //0 ok; -1 error } message KickGroupMemberResp { repeated Id2Result id2ResultList = 3; } message GetJoinedGroupListReq { string fromUserID = 1; server_api_params.RequestPagination pagination = 2; } message GetJoinedGroupListResp{ int32 total = 1; repeated server_api_params.GroupInfo groupList = 3; } message InviteUserToGroupReq { string groupID = 3; string reason = 4; repeated string invitedUserIDList = 5; } message InviteUserToGroupResp { repeated Id2Result id2ResultList = 3; // 0 ok, -1 error } message GetGroupAllMemberReq { string groupID = 1; int32 offset = 4; int32 count = 5; } message GetGroupAllMemberResp { repeated server_api_params.GroupMemberFullInfo memberList = 3; } message CMSGroup { server_api_params.GroupInfo groupInfo = 1; string groupOwnerUserName = 2; string groupOwnerUserID = 3; } message GetGroupsReq { server_api_params.RequestPagination pagination = 1; string groupName = 2; string groupID = 3; } message GetGroupsResp { repeated CMSGroup groups = 1; int32 GroupNum = 3; } message GetGroupMemberReq { string groupID = 1; } message GetGroupMembersCMSReq { string groupID = 1; string userName = 2; server_api_params.RequestPagination pagination = 3; } message GetGroupMembersCMSResp { repeated server_api_params.GroupMemberFullInfo members = 1; server_api_params.ResponsePagination pagination = 2; int32 memberNums = 3; } message DismissGroupReq{ string groupID = 3; } message DismissGroupResp{ } message MuteGroupMemberReq{ string groupID = 3; string userID = 4; uint32 mutedSeconds = 5; } message MuteGroupMemberResp{ } message CancelMuteGroupMemberReq{ string groupID = 3; string userID = 4; } message CancelMuteGroupMemberResp{ } message MuteGroupReq{ string groupID = 3; } message MuteGroupResp{ } message CancelMuteGroupReq{ string groupID = 3; } message CancelMuteGroupResp{ } message SetGroupMemberNicknameReq{ string groupID = 1; string nickname = 2; string userID = 5; } message SetGroupMemberNicknameResp{ } message GetJoinedSuperGroupListReq { server_api_params.RequestPagination pagination = 1; string userID = 2; } message GetJoinedSuperGroupListResp { int32 total = 1; repeated server_api_params.GroupInfo groupList = 3; } message GetSuperGroupsInfoReq { repeated string groupIDList = 1; } message GetSuperGroupsInfoResp { repeated server_api_params.GroupInfo groupInfoList = 3; } message SetGroupMemberInfoReq{ string groupID = 1; string userID = 2; google.protobuf.StringValue nickname = 5; google.protobuf.StringValue faceURL = 6; google.protobuf.Int32Value roleLevel = 7; google.protobuf.StringValue ex = 8; } message SetGroupMemberInfoResp{ } message GetGroupAbstractInfoReq{ repeated string groupIDs = 1; } message GroupAbstractInfo{ string groupID = 1; int32 groupMemberNumber = 2; uint64 groupMemberListHash = 3; } message GetGroupAbstractInfoResp{ repeated GroupAbstractInfo groupAbstractInfos = 1; } 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 getUserReqApplicationList(GetUserReqApplicationListReq) returns(GetUserReqApplicationListResp); //转让群主 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 GetGroups(GetGroupsReq) returns(GetGroupsResp); rpc GetGroupMembersCMS(GetGroupMembersCMSReq) returns(GetGroupMembersCMSResp); //解散群 rpc DismissGroup(DismissGroupReq) returns(DismissGroupResp); //对某个群成员禁言 rpc MuteGroupMember(MuteGroupMemberReq) returns(MuteGroupMemberResp); //对某个群成员取消禁言 rpc CancelMuteGroupMember(CancelMuteGroupMemberReq) returns(CancelMuteGroupMemberResp); //对某个群禁言 rpc MuteGroup(MuteGroupReq) returns(MuteGroupResp); //对某个群取消禁言 rpc CancelMuteGroup(CancelMuteGroupReq) returns(CancelMuteGroupResp); //获取某个用户加入的超级群 rpc GetJoinedSuperGroupList(GetJoinedSuperGroupListReq) returns (GetJoinedSuperGroupListResp); //获取指定的超级群信息 rpc GetSuperGroupsInfo(GetSuperGroupsInfoReq) returns (GetSuperGroupsInfoResp); //设置群成员昵称 rpc SetGroupMemberNickname(SetGroupMemberNicknameReq) returns (SetGroupMemberNicknameResp); //设置群成员信息 rpc SetGroupMemberInfo(SetGroupMemberInfoReq) returns (SetGroupMemberInfoResp); //获取群信息hash值 rpc GetGroupAbstractInfo(GetGroupAbstractInfoReq) returns (GetGroupAbstractInfoResp); }