156 lines
3.9 KiB
Protocol Buffer
156 lines
3.9 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
option go_package ="./pb";
|
|
|
|
package pb;
|
|
|
|
// ------------------------------------
|
|
// Messages
|
|
// ------------------------------------
|
|
|
|
//--------------------------------chatSessions--------------------------------
|
|
message ChatSessions {
|
|
int64 id = 1; //id
|
|
string type = 2; //type: group, dm
|
|
string name = 3; //name
|
|
int64 creatorId = 4; //creatorId
|
|
repeated int64 participants = 5; //participants
|
|
string lastMessage = 6; //lastMessage
|
|
int64 lastMessageAt = 7; //lastMessageAt
|
|
int64 createdAt = 8; //createdAt
|
|
int64 updatedAt = 9; //updatedAt
|
|
}
|
|
|
|
message AddChatSessionsReq {
|
|
string type = 1; //type: group, dm
|
|
string name = 2; //name
|
|
int64 creatorId = 3; //creatorId
|
|
repeated int64 participants = 4; //participants
|
|
}
|
|
|
|
message AddChatSessionsResp {
|
|
int64 id = 1; //id
|
|
}
|
|
|
|
message UpdateChatSessionsReq {
|
|
int64 id = 1; //id
|
|
optional string name = 2; //name
|
|
optional string lastMessage = 3; //lastMessage
|
|
optional int64 lastMessageAt = 4; //lastMessageAt
|
|
}
|
|
|
|
message UpdateChatSessionsResp {
|
|
}
|
|
|
|
message DelChatSessionsReq {
|
|
int64 id = 1; //id
|
|
}
|
|
|
|
message DelChatSessionsResp {
|
|
}
|
|
|
|
message GetChatSessionsByIdReq {
|
|
int64 id = 1; //id
|
|
}
|
|
|
|
message GetChatSessionsByIdResp {
|
|
ChatSessions chatSessions = 1; //chatSessions
|
|
}
|
|
|
|
message SearchChatSessionsReq {
|
|
int64 page = 1; //page
|
|
int64 limit = 2; //limit
|
|
optional int64 userId = 3; //userId (filter sessions containing this user)
|
|
optional string type = 4; //type
|
|
}
|
|
|
|
message SearchChatSessionsResp {
|
|
repeated ChatSessions chatSessions = 1; //chatSessions
|
|
}
|
|
|
|
message AddParticipantReq {
|
|
int64 sessionId = 1; //sessionId
|
|
int64 userId = 2; //userId
|
|
}
|
|
|
|
message AddParticipantResp {
|
|
}
|
|
|
|
message RemoveParticipantReq {
|
|
int64 sessionId = 1; //sessionId
|
|
int64 userId = 2; //userId
|
|
}
|
|
|
|
message RemoveParticipantResp {
|
|
}
|
|
|
|
//--------------------------------chatMessages--------------------------------
|
|
message ChatMessages {
|
|
int64 id = 1; //id
|
|
int64 sessionId = 2; //sessionId
|
|
int64 senderId = 3; //senderId
|
|
string type = 4; //type: text, image, system
|
|
string content = 5; //content
|
|
int64 createdAt = 6; //createdAt
|
|
}
|
|
|
|
message AddChatMessagesReq {
|
|
int64 sessionId = 1; //sessionId
|
|
int64 senderId = 2; //senderId
|
|
string type = 3; //type
|
|
string content = 4; //content
|
|
}
|
|
|
|
message AddChatMessagesResp {
|
|
int64 id = 1; //id
|
|
}
|
|
|
|
message DelChatMessagesReq {
|
|
int64 id = 1; //id
|
|
}
|
|
|
|
message DelChatMessagesResp {
|
|
}
|
|
|
|
message GetChatMessagesByIdReq {
|
|
int64 id = 1; //id
|
|
}
|
|
|
|
message GetChatMessagesByIdResp {
|
|
ChatMessages chatMessages = 1; //chatMessages
|
|
}
|
|
|
|
message SearchChatMessagesReq {
|
|
int64 page = 1; //page
|
|
int64 limit = 2; //limit
|
|
int64 sessionId = 3; //sessionId
|
|
optional int64 senderId = 4; //senderId
|
|
}
|
|
|
|
message SearchChatMessagesResp {
|
|
repeated ChatMessages chatMessages = 1; //chatMessages
|
|
}
|
|
|
|
|
|
// ------------------------------------
|
|
// Rpc Func
|
|
// ------------------------------------
|
|
|
|
service chatService{
|
|
|
|
//-----------------------chatSessions-----------------------
|
|
rpc AddChatSessions(AddChatSessionsReq) returns (AddChatSessionsResp);
|
|
rpc UpdateChatSessions(UpdateChatSessionsReq) returns (UpdateChatSessionsResp);
|
|
rpc DelChatSessions(DelChatSessionsReq) returns (DelChatSessionsResp);
|
|
rpc GetChatSessionsById(GetChatSessionsByIdReq) returns (GetChatSessionsByIdResp);
|
|
rpc SearchChatSessions(SearchChatSessionsReq) returns (SearchChatSessionsResp);
|
|
rpc AddParticipant(AddParticipantReq) returns (AddParticipantResp);
|
|
rpc RemoveParticipant(RemoveParticipantReq) returns (RemoveParticipantResp);
|
|
//-----------------------chatMessages-----------------------
|
|
rpc AddChatMessages(AddChatMessagesReq) returns (AddChatMessagesResp);
|
|
rpc DelChatMessages(DelChatMessagesReq) returns (DelChatMessagesResp);
|
|
rpc GetChatMessagesById(GetChatMessagesByIdReq) returns (GetChatMessagesByIdResp);
|
|
rpc SearchChatMessages(SearchChatMessagesReq) returns (SearchChatMessagesResp);
|
|
|
|
}
|