first commit

This commit is contained in:
2022-03-17 15:59:24 +08:00
commit 2b0debb847
592 changed files with 73946 additions and 0 deletions

View File

@@ -0,0 +1,519 @@
// protoc -I=. -I=$GOPATH/src --go_out=plugins=grpc:. *.proto
syntax = "proto3";
package dtalk.group;
option go_package = "gitlab.33.cn/chat/dtalk/service/group";
// 群状态
enum GroupStatus {
GROUP_STATUS_NORMAL = 0; // 正常
GROUP_STATUS_BLOCK = 1; // 封禁
GROUP_STATUS_DISBAND = 2 ;// 解散
}
// 群类型
enum GroupType {
GROUP_TYPE_NORMAL = 0; // 普通群
GROUP_TYPE_ENT = 1; // 全员群
GROUP_TYPE_DEP = 2; // 部门群
}
// 群内加群设置
enum GroupJoinType {
GROUP_JOIN_TYPE_ANY = 0; // 无需审批(默认)
GROUP_JOIN_TYPE_ADMIN = 1; // 禁止加群,群主和管理员邀请加群
GROUP_JOIN_TYPE_APPLY = 2; // 普通人邀请需要审批,群主和管理员直接加群
}
// 群内发言设置
enum GroupMuteType {
GROUP_MUTE_TYPE_ANY = 0; // 全员可发言
GROUP_MUTE_TYPE_ADMIN = 1; // 全员禁言(除群主和管理员)
}
// 群内加好友设置
enum GroupFriendType {
GROUP_FRIEND_TYPE_ALLOW = 0; // 群内可加好友
GROUP_FRIEND_TYPE_DENY = 1; // 群内禁止加好友
}
// 群成员类型
enum GroupMemberType {
GROUP_MEMBER_TYPE_NORMAL = 0; // 群员
GROUP_MEMBER_TYPE_ADMIN = 1; // 管理员
GROUP_MEMBER_TYPE_OWNER = 2; // 群主
GROUP_MEMBER_TYPE_OTHER = 10; // 退群
}
message GroupInfo {
int64 id = 1;
string name = 2;
string avatar = 3;
}
message GroupMemberInfo {
// 成员 id
string id = 1;
// 成员在群里的名字
string name = 2;
}
message GetGroupIdsRequest{
string member_id = 1;
}
message GetGroupIdsReply {
repeated int64 group_ids = 1;
}
message CheckInGroupRequest{
string member_id = 1;
int64 group_id = 2;
}
message CheckInGroupReply {
bool is_ok = 1;
}
message GetMemberIdsRequest{
int64 group_id = 1;
}
message GetMemberIdsReply{
repeated string member_ids = 1;
}
message CheckMuteRequest {
string member_id = 1;
int64 group_id = 2;
}
message CheckMuteReply {
bool is_ok = 1;
}
// 得到加入的所有群
message GetGroupsReq {
string id = 1;
}
message GetGroupsResp {
repeated GroupInfo groups = 1;
}
// ---------------- ----------------------
message GroupBizInfo {
int64 id = 1;
string mark_id = 2;
string name = 3;
string avatar = 4;
int32 member_num = 5;
int32 member_maximum = 6;
string introduce = 7;
// 群状态0=正常 1=封禁 2=解散
GroupStatus status = 8;
string owner_id = 9;
int64 create_time = 10;
int64 update_time = 11;
// 加群方式0=无需审批默认1=禁止加群,群主和管理员邀请加群, 2=普通人邀请需要审批,群主和管理员直接加群
GroupJoinType join_type = 12;
// 禁言, 0=全员可发言, 1=全员禁言(除群主和管理员)
GroupMuteType mute_type = 13;
// 加好友限制, 0=群内可加好友1=群内禁止加好友
GroupFriendType friend_type = 14;
// 群内当前被禁言的人数
int32 mute_num = 15;
// 群内管理员数量
int32 admin_num = 16;
string AES_key = 17;
string pub_name = 18;
// 群类型 (0: 普通群, 1: 全员群, 2: 部门群)
GroupType type = 19;
GroupMemberBizInfo owner = 20;
GroupMemberBizInfo person = 21;
repeated GroupMemberBizInfo members = 22;
}
message GroupMemberBizInfo {
int64 group_id = 1;
string id = 2;
string name = 3;
// 用户角色0=群员,1=管理员, 2=群主10=退群
GroupMemberType type = 4;
// 该用户被禁言结束的时间 9223372036854775807=永久禁言
int64 mute_time = 5;
int64 join_time = 6;
}
// 创建群聊
message CreateGroupReq {
string name = 1;
GroupType group_type = 2;
GroupMemberInfo owner = 3;
repeated GroupMemberInfo members = 4;
}
message CreateGroupResp {
int64 group_id = 1;
}
message InviteGroupMembersReq {
int64 group_id = 1;
string inviter_id = 2;
repeated string member_ids = 3;
}
message InviteGroupMembersResp {
}
message GroupExitReq {
int64 group_id = 1;
string person_id = 2;
}
message GroupExitResp {
}
message GroupDisbandReq {
int64 group_id = 1;
string person_id = 2;
}
message GroupDisbandResp {
}
message GroupRemoveReq {
int64 group_id = 1;
string person_id = 2;
repeated string member_ids = 3;
}
message GroupRemoveResp {
// 群当前人数
int32 member_num = 1;
// 成功被踢的成员列表
repeated string member_ids = 2;
}
message ChangeOwnerReq {
int64 group_id = 1;
string person_id = 2;
// 被转让为群主的群成员 id
string member_id = 3;
}
message ChangeOwnerResp {
}
message UpdateGroupNameReq {
int64 group_id = 1;
string person_id = 2;
string name = 3;
string public_name = 4;
}
message UpdateGroupNameResp {
}
message UpdateGroupAvatarReq {
int64 group_id = 1;
string person_id = 2;
// 群头像 url
string avatar = 3;
}
message UpdateGroupAvatarResp {
}
message UpdateGroupJoinTypeReq {
int64 group_id = 1;
string person_id = 2;
GroupJoinType group_join_type = 3;
}
message UpdateGroupJoinTypeResp {
}
message UpdateGroupFriendTypeReq {
int64 group_id = 1;
string person_id = 2;
GroupFriendType group_friend_type = 3;
}
message UpdateGroupFriendTypeResp {
}
message UpdateGroupMuteTypeReq {
int64 group_id = 1;
string person_id = 2;
GroupMuteType group_mute_type = 3;
}
message UpdateGroupMuteTypeResp {
}
message UpdateGroupMemberNameReq {
int64 group_id = 1;
string person_id = 2;
string member_name = 3;
}
message UpdateGroupMemberNameResp {
}
message SetAdminReq {
int64 group_id = 1;
string person_id = 2;
string member_id = 3;
GroupMemberType group_member_type = 4;
}
message SetAdminResp {
}
message UpdateGroupMemberMuteTimeReq {
int64 group_id = 1;
string person_id = 2;
repeated string member_ids = 3;
int64 mute_time = 4;
}
message UpdateGroupMemberMuteTimeResp {
repeated GroupMemberBizInfo members = 1;
}
message GetPriGroupInfoReq {
int64 group_id = 1;
string person_id = 2;
int32 display_num = 3;
}
message GetPriGroupInfoResp {
GroupBizInfo group = 1;
}
message GetPubGroupInfoReq {
int64 group_id = 1;
string person_id = 2;
}
message GetPubGroupInfoResp {
GroupBizInfo group = 1;
}
message GetGroupListReq {
string person_id = 1;
}
message GetGroupListResp {
repeated GroupBizInfo groups = 1;
}
message GetGroupMemberListReq {
int64 group_id = 1;
string person_id = 2;
}
message GetGroupMemberListResp {
repeated GroupMemberBizInfo members = 1;
}
message GetGroupMemberInfoReq {
int64 group_id = 1;
string person_id = 2;
string member_id = 3;
}
message GetGroupMemberInfoResp {
GroupMemberBizInfo member = 1;
}
message GetMuteListReq {
int64 group_id = 1;
string person_id = 2;
}
message GetMuteListResp {
repeated GroupMemberBizInfo members = 1;
}
// -------------- oa 远程调用 ----------------
message ForceAddMemberReq{
string member_id = 1;
int64 group_id = 2;
}
message ForceAddMemberResp{
}
message ForceAddMembersReq {
int64 group_id = 1;
repeated GroupMemberInfo members = 2;
}
message ForceAddMembersResp{
}
message ForceDeleteMemberReq{
string member_id = 1;
int64 group_id = 2;
}
message ForceDeleteMemberResp{
}
message ForceDeleteMembersReq{
int64 group_id = 1;
repeated string member_ids = 2;
}
message ForceDeleteMembersResp{
}
message GetMemberReq{
string member_id = 1;
int64 group_id = 2;
}
message GetMemberResp{
int64 groupId = 1;
string groupMemberId = 2;
string groupMemberName = 3;
int32 groupMemberType = 4;
int64 groupMemberJoinTime = 5;
int64 groupMemberUpdateTime = 6;
}
message GetGroupInfoReq {
int64 groupId = 1;
}
message GetGroupInfoResp {
int64 groupId = 1;
bool group_exist = 2;
string group_name = 3;
string group_avatar = 4;
string group_owner_id = 5;
}
message ForceDisbandGroupReq {
int64 group_id = 1;
string ope_id = 2;
}
message ForceDisbandGroupResp {
}
message ForceUpdateGroupTypeReq {
int64 group_id = 1;
int32 group_type = 2;
}
message ForceUpdateGroupTypeResp {
int64 group_id = 1;
int32 group_type = 2;
}
message ForceJoinGroupsReq {
GroupMemberInfo member = 1;
repeated int64 group_ids = 2;
}
message ForceJoinGroupsResp {
}
message ForceExitGroupsReq {
GroupMemberInfo member = 1;
repeated int64 group_ids = 2;
}
message ForceExitGroupsResp {
}
message ForceChangeOwnerReq {
int64 group_id = 1;
GroupMemberInfo member = 2;
}
message ForceChangeOwnerResp {}
service Group {
rpc GetGroupIds(GetGroupIdsRequest) returns (GetGroupIdsReply);
rpc CheckInGroup(CheckInGroupRequest) returns (CheckInGroupReply);
rpc GetMemberIds(GetMemberIdsRequest) returns (GetMemberIdsReply);
rpc CheckMute(CheckMuteRequest) returns (CheckMuteReply);
// 得到加入的所有群
rpc GetGroups(GetGroupsReq) returns (GetGroupsResp);
// 查询成员
rpc GetMember(GetMemberReq) returns (GetMemberResp);
// 查询群信息
rpc GetGroupInfo(GetGroupInfoReq) returns (GetGroupInfoResp);
// ------------- gateway -----------
// 创建群聊
rpc CreateGroup(CreateGroupReq) returns (CreateGroupResp);
// 邀请新成员
rpc InviteGroupMembers(InviteGroupMembersReq) returns (InviteGroupMembersResp);
// 退出群
rpc GroupExit(GroupExitReq) returns (GroupExitResp);
// 解散群
rpc GroupDisband(GroupDisbandReq) returns (GroupDisbandResp);
// 踢人
rpc GroupRemove(GroupRemoveReq) returns (GroupRemoveResp);
// 转让群主
rpc ChangeOwner(ChangeOwnerReq) returns (ChangeOwnerResp);
// 更新群名称
rpc UpdateGroupName(UpdateGroupNameReq) returns(UpdateGroupNameResp);
// 更新群头像
rpc UpdateGroupAvatar(UpdateGroupAvatarReq) returns (UpdateGroupAvatarResp);
// 更新加群设置
rpc UpdateGroupJoinType(UpdateGroupJoinTypeReq) returns (UpdateGroupJoinTypeResp);
// 更新群内加好友设置
rpc UpdateGroupFriendType(UpdateGroupFriendTypeReq) returns (UpdateGroupFriendTypeResp);
// 更新群内禁言设置
rpc UpdateGroupMuteType(UpdateGroupMuteTypeReq) returns (UpdateGroupMuteTypeResp);
// 更新群内昵称
rpc UpdateGroupMemberName(UpdateGroupMemberNameReq) returns (UpdateGroupMemberNameResp);
// 设置群管理员
rpc SetAdmin(SetAdminReq) returns(SetAdminResp);
// 设置群成员禁言时间
rpc UpdateGroupMemberMuteTime(UpdateGroupMemberMuteTimeReq) returns(UpdateGroupMemberMuteTimeResp);
// 查询完整群信息
rpc GetPriGroupInfo(GetPriGroupInfoReq) returns(GetPriGroupInfoResp);
// 查询群公开信息
rpc GetPubGroupInfo(GetPubGroupInfoReq) returns (GetPubGroupInfoResp);
// 查询加入的群列表
rpc GetGroupList(GetGroupListReq) returns (GetGroupListResp);
// 查询群成员列表
rpc GetGroupMemberList(GetGroupMemberListReq) returns (GetGroupMemberListResp);
// 查询群成员信息
rpc GetGroupMemberInfo(GetGroupMemberInfoReq) returns (GetGroupMemberInfoResp);
// 查询群内禁言列表
rpc GetMuteList(GetMuteListReq) returns (GetMuteListResp);
// ------------- Third Force --------------
// 更新群类型
rpc ForceUpdateGroupType(ForceUpdateGroupTypeReq) returns(ForceUpdateGroupTypeResp);
// 解散群, 强制解散
rpc ForceDisbandGroup(ForceDisbandGroupReq) returns (ForceDisbandGroupResp);
// 添加成员
rpc ForceAddMember(ForceAddMemberReq) returns (ForceAddMemberResp);
// 批量添加成员
rpc ForceAddMembers(ForceAddMembersReq) returns (ForceAddMembersResp);
// 删除成员
rpc ForceDeleteMember(ForceDeleteMemberReq) returns (ForceDeleteMemberResp);
// 批量删除成员
rpc ForceDeleteMembers(ForceDeleteMembersReq) returns (ForceDeleteMembersResp);
// 一个人加入多个群
rpc ForceJoinGroups(ForceJoinGroupsReq) returns(ForceJoinGroupsResp);
// 一个人退出多个群
rpc ForceExitGroups(ForceExitGroupsReq) returns(ForceExitGroupsResp);
// 成为群主
rpc ForceChangeOwner(ForceChangeOwnerReq) returns(ForceChangeOwnerResp);
}