syntax = "proto3";
package pb;
option go_package = "gim/pkg/pb/";

import "im.logic.ext.proto";

enum PushCode {
  PC_ADD_DEFAULT = 0;

  PC_ADD_FRIEND = 100; // 添加好友请求
  PC_AGREE_ADD_FRIEND = 101; // 同意添加好友

  PC_UPDATE_GROUP = 110; // 更新群组

  PC_ADD_GROUP_MEMBERS = 120; // 添加群组成员
  PC_REMOVE_GROUP_MEMBER = 121; // 移除群组成员

}

// 推送码 PC_ADD_FRIEND = 100
message AddFriendPush {
  int64 friend_id = 1; // 好友id
  string nickname = 2; // 昵称
  string avatar_url = 3; // 头像
  string description = 4; // 描述
}

// 推送码 PC_AGREE_ADD_FRIEND = 101
message AgreeAddFriendPush {
  int64 friend_id = 1; // 好友id
  string nickname = 2; // 昵称
  string avatar_url = 3; // 头像
}

// 更新群组 PC_UPDATE_GROUP = 110
message UpdateGroupPush {
  int64 opt_id = 1; // 操作人用户id
  string opt_name = 2; // 操作人昵称
  string name = 3; // 群组名称
  string avatar_url = 4; // 群组头像
  string introduction = 5; // 群组简介
  string extra = 6; // 附加字段
}

// 添加群组成员 PC_AGREE_ADD_GROUPS = 120
message AddGroupMembersPush {
  int64 opt_id = 1; // 操作人用户id
  string opt_name = 2; // 操作人昵称
  repeated GroupMember members = 3; // 群组成员
}

// 删除群组成员 PC_REMOVE_GROUP_MEMBER = 121
message RemoveGroupMemberPush {
  int64 opt_id = 1; // 操作人用户id
  string opt_name = 2; // 操作人昵称
  int64 deleted_user_id = 3; // 被删除的成员id
  string deleted_user_name = 4; // 被删除的成员昵称
}
