88 lines
1.7 KiB
Protocol Buffer
88 lines
1.7 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package proto;
|
|
|
|
option go_package = "./;proto";
|
|
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
service MessageService {
|
|
rpc CreateChat (CreateChatRequest) returns (ChatResponse);
|
|
rpc SendMessage (SendMessageRequest) returns (MessageResponse);
|
|
rpc GetChat (GetChatRequest) returns (ChatResponse);
|
|
rpc GetChatMessages (GetChatMessagesRequest) returns (MessagesResponse);
|
|
rpc GetUserChats (GetUserChatsRequest) returns (UserChatsResponse);
|
|
rpc UpdateMessageStatus (UpdateMessageStatusRequest) returns (MessageResponse);
|
|
rpc StreamMessages (StreamMessagesRequest) returns (stream MessageResponse);
|
|
}
|
|
|
|
message CreateChatRequest {
|
|
int32 user1_id = 1;
|
|
int32 user2_id = 2;
|
|
}
|
|
|
|
message SendMessageRequest {
|
|
int32 chat_id = 1;
|
|
int32 sender_id = 2;
|
|
string content = 3;
|
|
}
|
|
|
|
message GetChatRequest {
|
|
int32 user1_id = 1;
|
|
int32 user2_id = 2;
|
|
}
|
|
|
|
message GetChatMessagesRequest {
|
|
int32 chat_id = 1;
|
|
int32 limit = 2;
|
|
int32 offset = 3;
|
|
}
|
|
|
|
message GetUserChatsRequest {
|
|
int32 user_id = 1;
|
|
}
|
|
|
|
message UpdateMessageStatusRequest {
|
|
int32 message_id = 1;
|
|
string status = 2;
|
|
int32 userId = 3;
|
|
}
|
|
|
|
message StreamMessagesRequest {
|
|
int32 user_id = 1;
|
|
}
|
|
|
|
message Message {
|
|
int32 id = 1;
|
|
int32 chat_id = 2;
|
|
int32 sender_id = 3;
|
|
int32 receiver_id = 4;
|
|
string content = 5;
|
|
string status = 6;
|
|
google.protobuf.Timestamp created_at = 7;
|
|
}
|
|
|
|
message Chat {
|
|
int32 id = 1;
|
|
int32 user1_id = 2;
|
|
int32 user2_id = 3;
|
|
google.protobuf.Timestamp created_at = 4;
|
|
google.protobuf.Timestamp updated_at = 5;
|
|
Message last_message = 6;
|
|
}
|
|
|
|
message MessageResponse {
|
|
Message message = 1;
|
|
}
|
|
|
|
message MessagesResponse {
|
|
repeated Message messages = 1;
|
|
}
|
|
|
|
message ChatResponse {
|
|
Chat chat = 1;
|
|
}
|
|
|
|
message UserChatsResponse {
|
|
repeated Chat chats = 1;
|
|
} |