Files
socket-service/proto/message.proto
2026-02-21 20:12:30 +03:00

203 lines
3.7 KiB
Protocol Buffer

syntax = "proto3";
option go_package = "./";
package message;
import "google/protobuf/empty.proto";
service MessageService {
rpc CreateUser(CreateUserRequest) returns(CreateUserResponse);
rpc UpdateUser(UpdateUserRequest) returns(UpdateUserResponse);
rpc GetUserByToken(GetUserByTokenRequest) returns(GetUserResponse);
rpc GetUserByEmail(GetUserByEmailRequest) returns(GetUserResponse);
rpc ListUser(ListUserRequest) returns(ListUserResponse);
rpc CreateChat(CreateChatRequest) returns(CreateChatResponse);
rpc UpdateChat(UpdateChatRequest) returns(UpdateChatResponse);
rpc GetChat(GetChatRequest) returns(GetChatResponse);
rpc ListChat(ListChatRequest) returns(ListChatResponse);
rpc CreateMessage(CreateMessageRequest) returns(CreateMessageResponse);
rpc UpdateMessage(UpdateMessageRequest) returns(UpdateMessageResponse);
rpc GetMessage(GetMessageRequest) returns(GetMessageResponse);
rpc ListMessage(ListMessageRequest) returns(ListMessageResponse);
rpc GetVersion(google.protobuf.Empty) returns(GetVersionResponse);
}
// User
message CreateUserRequest {
string email = 1;
string name = 2;
}
message CreateUserResponse {
User data = 1;
}
message UpdateUserRequest {
int32 id = 1;
optional string token = 2;
optional string description = 3;
}
message UpdateUserResponse {
User data = 1;
}
message GetUserByTokenRequest {
string token = 1;
}
message GetUserByEmailRequest {
string email = 1;
}
message GetUserResponse {
User data = 1;
}
message ListUserRequest {
int32 page = 1;
repeated int32 user_ids = 2;
}
message ListUserResponse {
repeated User data = 1;
}
message User {
int32 id = 1;
optional string token = 2;
string email = 3;
optional string description = 4;
optional string name = 5;
}
message UserForChatResponse {
int32 id = 1;
optional string token = 2;
string email = 3;
optional string description = 4;
optional bool is_admin = 5;
}
// User end
// Chat
message CreateChatRequest {
optional string name = 1;
repeated UserForChat users = 2;
}
message UserForChat {
int32 user_id = 1;
optional bool is_admin = 2;
}
message CreateChatResponse {
Chat data = 1;
}
message UpdateChatRequest {
string id = 1;
repeated UserForChat users = 2;
}
message UpdateChatResponse {
Chat data = 1;
}
message GetChatRequest {
string id = 1;
}
message GetChatResponse {
Chat data = 1;
}
message ListChatRequest {
int32 page = 1;
int32 user_id = 2;
}
message ListChatResponse {
repeated Chat data = 1;
}
message Chat {
string id = 1;
int32 type_id = 2;
optional string name = 3;
repeated UserForChatResponse users = 4;
}
// Chat end
// Message
message CreateMessageRequest {
string chat_id = 2;
int32 user_id = 3;
optional string text = 4;
optional string image = 5;
optional string video = 6;
optional string file = 7;
}
message CreateMessageResponse {
Message data = 1;
}
message UpdateMessageRequest {
int32 id = 1;
string chat_id = 2;
optional string text = 3;
optional string image = 4;
optional string video = 5;
optional string file = 6;
}
message UpdateMessageResponse {
Message data = 1;
}
message GetMessageRequest {
int32 id = 1;
}
message GetMessageResponse {
Message data = 1;
}
message ListMessageRequest {
int32 page = 1;
string chat_id = 2;
}
message ListMessageResponse {
repeated Message data = 1;
}
message Message {
int32 id = 1;
int32 user_id = 2;
optional string text = 3;
optional string image = 4;
optional string video = 5;
optional string file = 6;
string created_at = 7;
string updated_at = 8;
}
// Message end
// Version
message GetVersionResponse {
Version data = 1;
}
message Version {
int32 id = 1;
string version = 2;
}
// Version end