tailly_back_v2/proto/messages.proto
madipo2611 aa839737b6
All checks were successful
continuous-integration/drone/push Build is passing
v0.0.21 правки в messageStream и обновление статуса сообщения
2025-08-19 10:08:22 +03:00

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;
}