From 697470b72f72362db6f1abe7b8ada2692e2c0d69 Mon Sep 17 00:00:00 2001
From: Pavel Antonov <antonov@perx.ru>
Date: Tue, 11 Jun 2024 11:43:13 +0000
Subject: [PATCH] =?UTF-8?q?feat(core):=20=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2?=
 =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20Locales=20API?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 proto/locales/locales.proto | 34 +++++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

diff --git a/proto/locales/locales.proto b/proto/locales/locales.proto
index dd28974..fa98e45 100644
--- a/proto/locales/locales.proto
+++ b/proto/locales/locales.proto
@@ -7,9 +7,17 @@ option go_package = "git.perx.ru/perxis/perxis-go/proto/locales;locales";
 package content.locales;
 
 message Locale {
-  string id = 1;
-  string space_id = 2;
-  string name = 3;
+  string id = 1; // Идентификатор локали, генерируется автоматически
+  string space_id = 2; // Идентификатор пространства.
+  string name = 3; // Название локали. Опционально, заполняется автоматически (Пример: russian, english)
+  string native_name = 4; // Название локали на языке локали. Опционально, заполняется автоматически  (Пример: Русский, English)
+  string code = 5; // Код локали https://en.wikipedia.org/wiki/IETF_language_tag
+  string fallback = 6; // Идентификатор локали, который будет использоваться при отсутствии перевода
+
+  bool default = 100; // Является ли локаль по умолчанию. Создается автоматически при создании пространства, не доступна для удаления. Единственная запись в пространстве
+  bool no_publish = 102; // Не публиковать контент данной локали. Не будет доступен контент через Delivery API. (кроме default)
+  bool disabled = 103; // Запретить использование локали. Нельзя создавать и редактировать контент для данной локали (кроме default)
+  bool allow_empty_required = 104; // Разрешить пустые значения для обязательных полей в данной локали
 }
 
 message CreateRequest {
@@ -20,6 +28,14 @@ message CreateResponse {
   Locale locale = 1;
 }
 
+message UpdateRequest {
+  Locale locale = 1;
+}
+
+message UpdateResponse {
+  Locale locale = 1;
+}
+
 message ListRequest {
   string space_id = 1;
 }
@@ -28,12 +44,20 @@ message ListResponse {
 }
 
 message DeleteRequest {
-  string space_id = 1;
-  string locale_id = 2;
+  string id = 1;
+  string space_id = 2;
 }
 
 service Locales {
+  // Создать локаль
   rpc Create(CreateRequest) returns(CreateResponse) {}
+
+  // Обновить локаль
+  rpc Update(UpdateRequest) returns(UpdateResponse) {}
+
+  // Получить список локалей
   rpc List(ListRequest) returns(ListResponse) {}
+
+  // Удалить локаль
   rpc Delete(DeleteRequest) returns(google.protobuf.Empty) {}
 }
\ No newline at end of file
-- 
GitLab