syntax = "proto3";
option go_package = ".;pb";
import "chat/chat_db.proto";

//聊天消息推送
message ChatMessagePush { DBChat chat = 1; }

//申请跨服频道号
message ChatCrossChannelReq {}
//申请跨服频道号 回应
message ChatCrossChannelResp { int32 channelId = 1; }

//申请切换频道
message ChatChanageChannelReq { int32 channelId = 1; }
//申请切换频道 回应
message ChatChanageChannelResp {
  int32 channelId = 1;
  bool isSucc = 2;
}

//请求聊天消息
message ChatGetListReq {
  ChatChannel channel = 1; //频道
  int32 channelId = 2;     //跨服频道id
  string unionId = 3;      //工会id
}

//请求聊天消息 回应
message ChatGetListResp { repeated DBChat chats = 1; }

// //跨服请求聊天消息
// message ChatGetCrossListReq {
//   ChatChannel channel = 1; //频道
//   int32 channelId = 2;     //跨服频道id
// }

// //跨服请求聊天消息 回应
// message ChatGetCrossListResp { repeated DBChat chats = 1; }

//消息发送请求
message ChatSendReq {
  string avatar = 1;       //用户头像
  string uname = 2;        //用户名
  int32 ulv = 3;           //用户等级
  ChatChannel channel = 4; //频道
  string targetId = 5;     //目标用户id
  ChatType ctype = 6;      //消息类型
  string content = 7;      //内容
  int64 appendInt = 8;     //@go_tags(`bson:"appendInt"`) 聊天附加数据
  string appendStr = 9;    //@go_tags(`bson:"appendStr"`) 聊天附加数据
  string appendBool = 10;  //@go_tags(`bson:"appendBool"`) 聊天附加数据
  bytes appendBytes = 11;  //@go_tags(`bson:"appendInt"`) 聊天附加数据
}

//消息发送请求 回应
message ChatSendResp {
  bool issucc = 1; //是否成功
}

// //跨服消息发送请求
// message ChatSendCrossReq {
//   string avatar = 1;       //用户头像
//   string uname = 2;        //用户名
//   int32 ulv = 3;           //用户等级
//   ChatChannel channel = 4; //频道
//   string targetId = 5;     //目标用户id
//   ChatType ctype = 6;      //消息类型
//   string content = 7;      //内容
//   int64 appendInt = 8;     //@go_tags(`bson:"appendInt"`) 聊天附加数据
//   string appendStr = 9;    //@go_tags(`bson:"appendStr"`) 聊天附加数据
//   string appendBool = 10;  //@go_tags(`bson:"appendBool"`) 聊天附加数据
//   bytes appendBytes = 11;  //@go_tags(`bson:"appendInt"`) 聊天附加数据
// }

// //跨服消息发送请求 回应
// message ChatSendCrossResp {
//   bool issucc = 1; //是否成功
// }
