This commit is contained in:
2026-02-23 23:56:20 +03:00
parent d675d3ab9f
commit 6402b4cfb1
5 changed files with 238 additions and 118 deletions

View File

@@ -14,6 +14,7 @@ service MessageService {
rpc GetUserByToken(GetUserByTokenRequest) returns(GetUserResponse);
rpc GetUserByEmail(GetUserByEmailRequest) returns(GetUserResponse);
rpc ListUser(ListUserRequest) returns(ListUserResponse);
rpc GetUser(GetUserRequest) returns(GetUserResponse);
rpc CreateChat(CreateChatRequest) returns(CreateChatResponse);
rpc UpdateChat(UpdateChatRequest) returns(UpdateChatResponse);
@@ -31,7 +32,10 @@ service MessageService {
// User
message CreateUserRequest {
string email = 1 [(validate.rules).string.email = true];
optional string name = 2;
optional string name = 2 [(validate.rules).string = {
ignore_empty: true, // ⭐ Главное правило
max_len: 200
}];
}
message CreateUserResponse {
@@ -41,7 +45,10 @@ message CreateUserResponse {
message UpdateUserRequest {
int32 id = 1 [(validate.rules).int32.gt = 0];
optional string token = 2; // todo
optional string description = 3;
optional string description = 3 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
}
message UpdateUserResponse {
@@ -56,6 +63,10 @@ message GetUserByEmailRequest {
string email = 1 [(validate.rules).string.email = true];
}
message GetUserRequest {
int32 id = 1 [(validate.rules).int32.gt = 0];
}
message GetUserResponse {
User data = 1;
}
@@ -91,11 +102,13 @@ message UserForChatResponse {
// Chat
message CreateChatRequest {
optional string name = 1;
repeated UserForChat users = 2;
repeated UserForChat users = 2 [(validate.rules).repeated = {
min_items: 1,
}];
}
message UserForChat {
int32 user_id = 1;
int32 user_id = 1 [(validate.rules).int32.gt = 0];
optional bool is_admin = 2;
}
@@ -105,11 +118,11 @@ message CreateChatResponse {
message UpdateChatRequest {
string id = 1 [(validate.rules).string = {
pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
min_len: 36,
max_len: 36
uuid: true,
}];
repeated UserForChat users = 2 [(validate.rules).repeated = {
min_items: 1,
}];
repeated UserForChat users = 2;
}
message UpdateChatResponse {
@@ -117,7 +130,9 @@ message UpdateChatResponse {
}
message GetChatRequest {
string id = 1;
string id = 1 [(validate.rules).string = {
uuid: true,
}];
}
message GetChatResponse {
@@ -144,15 +159,25 @@ message Chat {
// Message
message CreateMessageRequest {
string chat_id = 2 [(validate.rules).string = {
pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
min_len: 36,
max_len: 36
uuid: true,
}];
int32 user_id = 3 [(validate.rules).int32.gt = 0];
optional string text = 4;
optional string image = 5;
optional string video = 6;
optional string file = 7;
optional string text = 4 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string image = 5 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string video = 6 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string file = 7 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
}
message CreateMessageResponse {
@@ -162,14 +187,24 @@ message CreateMessageResponse {
message UpdateMessageRequest {
int32 id = 1 [(validate.rules).int32.gt = 0];
string chat_id = 2 [(validate.rules).string = {
pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
min_len: 36,
max_len: 36
uuid: true,
}];
optional string text = 3 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string image = 4 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string video = 5 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string file = 6 [(validate.rules).string = {
ignore_empty: true,
max_len: 200
}];
optional string text = 3;
optional string image = 4;
optional string video = 5;
optional string file = 6;
}
message UpdateMessageResponse {
@@ -187,9 +222,7 @@ message GetMessageResponse {
message ListMessageRequest {
int32 page = 1;
string chat_id = 2 [(validate.rules).string = {
pattern: "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
min_len: 36,
max_len: 36
uuid: true,
}];
}