From 7aeda6dcdb4ed68d77aa22c9f777586216d5c880 Mon Sep 17 00:00:00 2001
From: flamebrier <flamebrier@gmail.com>
Date: Wed, 23 Oct 2024 19:22:20 +0300
Subject: [PATCH 1/6] =?UTF-8?q?=D0=9D=D0=BE=D0=B2=D0=B0=D1=8F=20=D0=BE?=
 =?UTF-8?q?=D0=BF=D1=86=D0=B8=D1=8F=20=D0=B2=20=D0=BD=D0=B0=D1=81=D1=82?=
 =?UTF-8?q?=D1=80=D0=BE=D0=B9=D0=BA=D0=B5=20=D0=BA=D0=B0=D1=81=D1=82=D0=BE?=
 =?UTF-8?q?=D0=BC=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8=20=D0=BF=D0=B5=D1=80?=
 =?UTF-8?q?=D0=B2=D0=BE=D0=B9=20=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?=
 =?UTF-8?q?=D1=8B=20(=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D0=B8=D1=80=D0=BE?=
 =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=BD=D0=BE=D0=B5=20=D1=80=D0=B0=D1=81=D0=BF?=
 =?UTF-8?q?=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D0=B5)=20DEV-430?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 club/club.proto | 1 +
 1 file changed, 1 insertion(+)

diff --git a/club/club.proto b/club/club.proto
index 53e7479..9a6849e 100644
--- a/club/club.proto
+++ b/club/club.proto
@@ -204,6 +204,7 @@ message CustomLayoutSettings {
     // какой элемент показывать на главной
     oneof main_element {
       bool schedule = 1; // расписание
+      bool scheduleGroups = 13; // расписание
       bool feed = 2; // ленту
       bool market_view = 10; // фитмаркет
     }
-- 
GitLab


From 99c7c7bd7d4685d504087806218fc5c6cd123b73 Mon Sep 17 00:00:00 2001
From: flamebrier <flamebrier@gmail.com>
Date: Thu, 23 Jan 2025 16:55:10 +0300
Subject: [PATCH 2/6] =?UTF-8?q?=D0=A1=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83?=
 =?UTF-8?q?=D1=80=D1=8B=20=D0=BF=D0=BE=D0=B4=20ProfileExtension,=20=D0=BF?=
 =?UTF-8?q?=D0=BE=D0=BB=D1=8F=20=D0=BF=D1=80=D0=BE=D1=84=D0=B8=D0=BB=D1=8F?=
 =?UTF-8?q?=20=D0=B8=20=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BE=D1=87=D0=BD?=
 =?UTF-8?q?=D0=B8=D0=BA=D0=B8=20DEV-673?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 common/common.proto | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/common/common.proto b/common/common.proto
index 4d68ef4..af1ae6f 100644
--- a/common/common.proto
+++ b/common/common.proto
@@ -392,6 +392,46 @@ message Profile {
   bool elari_connected = 62;
   bool debug_activity = 63; // признак для записи всех поступающих данных об активности
   string city = 64; // город интереса
+  repeated ProfileExtension extension = 65; // объекты расширения профиля по одному на поддерживающий их клуб
+}
+
+message ProfileExtension {
+  string club_id = 1; // код клуба, которому принадлежит расширение
+  repeated ProfileExtensionFormField fields = 2; // поля расширения
+}
+
+message ProfileExtensionFormField {
+  message TextDetails {
+    string text = 1;
+  }
+  message DictionaryDetails {
+    string dictionary_id = 1; // id справочника, из которого берется значение
+    DictionaryItem item = 2; // объект из справочника
+  }
+  string key = 1; // уникальное для клуба название на английском, по которому будет сохранено значение
+  string title = 2; // название поля, объясняющее пользователью что нужно указать
+  bool is_optional = 3; // опциональность поля - если false, то обязательно для заполнения
+  oneof details {
+    TextDetails text = 4;
+    DictionaryDetails dictionary = 5;
+  }
+}
+
+// справочник для хранения произвольных списков информации в клубе
+message Dictionary {
+  string id = 1; // идентификатор справочника
+  string club_id = 2; // код клуба, которому принадлежит справочник
+  string name = 3; // название справочника
+  string description = 4; // описание содержимого справочника
+  repeated DictionaryItem items = 5; // содержимое справочника
+}
+
+// один объект содержимого справочника
+message DictionaryItem {
+  string id = 1; // идентификатор объекта в справочнике
+  string text = 2; // содержимое объекта
+  // или
+  // bytes bytes_content = 3; // произвольный аргумент массива байт
 }
 
 message Achievements {
-- 
GitLab


From ed67f744f88d1c77ea43c8c7cfe0e0e88fa3760f Mon Sep 17 00:00:00 2001
From: flamebrier <flamebrier@gmail.com>
Date: Thu, 23 Jan 2025 16:58:22 +0300
Subject: [PATCH 3/6] =?UTF-8?q?=D0=98=D1=81=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?=
 =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B5=D0=B9=20=D0=BF=D0=BE=D0=BB=D0=B5?=
 =?UTF-8?q?=D0=B9=20=D0=B2=20ClubInfo=20DEV-673?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 club/club.proto | 1 +
 1 file changed, 1 insertion(+)

diff --git a/club/club.proto b/club/club.proto
index a65baa8..e09f5f3 100644
--- a/club/club.proto
+++ b/club/club.proto
@@ -191,6 +191,7 @@ message ClubInfo {
   ReceiptMode receipt_mode = 95; // режим создания чека
   bool always_pay = 96; // всегда отправлять на оплату услуги или задолженности (не использовать остатки на счетах)
   repeated string email_domain = 97; // разрешенные домены почты для подключения к клубу
+  repeated ProfileExtensionFormField profile_extension_fields = 98; // дополнительные поля для заполнения пользователем при подключении к клубу
   bool deleted = 999; // признак удаления
 }
 
-- 
GitLab


From a262b791daecd013e1fdd7b6346d548a5964a074 Mon Sep 17 00:00:00 2001
From: Alexei Volkov <softkot@gmail.com>
Date: Thu, 23 Jan 2025 17:44:20 +0300
Subject: [PATCH 4/6] DEV-673

---
 club/club.proto     |  2 +-
 common/common.proto | 49 ++++++++++++++-------------------------------
 2 files changed, 16 insertions(+), 35 deletions(-)

diff --git a/club/club.proto b/club/club.proto
index e09f5f3..d55610e 100644
--- a/club/club.proto
+++ b/club/club.proto
@@ -191,7 +191,7 @@ message ClubInfo {
   ReceiptMode receipt_mode = 95; // режим создания чека
   bool always_pay = 96; // всегда отправлять на оплату услуги или задолженности (не использовать остатки на счетах)
   repeated string email_domain = 97; // разрешенные домены почты для подключения к клубу
-  repeated ProfileExtensionFormField profile_extension_fields = 98; // дополнительные поля для заполнения пользователем при подключении к клубу
+  repeated ProfileExtensionRequirements profile_extension_fields = 98; // требования по полям для заполнения пользователем при подключении к клубу
   bool deleted = 999; // признак удаления
 }
 
diff --git a/common/common.proto b/common/common.proto
index af1ae6f..03e5efe 100644
--- a/common/common.proto
+++ b/common/common.proto
@@ -392,46 +392,27 @@ message Profile {
   bool elari_connected = 62;
   bool debug_activity = 63; // признак для записи всех поступающих данных об активности
   string city = 64; // город интереса
-  repeated ProfileExtension extension = 65; // объекты расширения профиля по одному на поддерживающий их клуб
 }
 
-message ProfileExtension {
-  string club_id = 1; // код клуба, которому принадлежит расширение
-  repeated ProfileExtensionFormField fields = 2; // поля расширения
-}
-
-message ProfileExtensionFormField {
-  message TextDetails {
-    string text = 1;
-  }
-  message DictionaryDetails {
-    string dictionary_id = 1; // id справочника, из которого берется значение
-    DictionaryItem item = 2; // объект из справочника
-  }
-  string key = 1; // уникальное для клуба название на английском, по которому будет сохранено значение
-  string title = 2; // название поля, объясняющее пользователью что нужно указать
-  bool is_optional = 3; // опциональность поля - если false, то обязательно для заполнения
-  oneof details {
-    TextDetails text = 4;
-    DictionaryDetails dictionary = 5;
-  }
+// значение поля из справочника
+message DictionaryItem {
+  string id = 1; // идентификатор объекта в справочнике
+  string text = 2; // содержимое объекта
 }
 
-// справочник для хранения произвольных списков информации в клубе
-message Dictionary {
-  string id = 1; // идентификатор справочника
-  string club_id = 2; // код клуба, которому принадлежит справочник
-  string name = 3; // название справочника
-  string description = 4; // описание содержимого справочника
-  repeated DictionaryItem items = 5; // содержимое справочника
+// данные профиля в контексте клуба
+message ProfileExtension {
+  DictionaryItem department = 1; // подразделение
 }
 
-// один объект содержимого справочника
-message DictionaryItem {
-  string id = 1; // идентификатор объекта в справочнике
-  string text = 2; // содержимое объекта
-  // или
-  // bytes bytes_content = 3; // произвольный аргумент массива байт
+message ProfileExtensionRequirements {
+  enum Field {
+    unknown = 0;
+    department = 1;
+  }
+  Field field = 1; // органичиваемое поле
+  string dictionary_id = 2; // значение используемого словаря если поле не допускает произвольного заполнения
+  bool optional = 3; // опциональное поле (не обязательно к заполнению)
 }
 
 message Achievements {
-- 
GitLab


From b9aafee520910e248799d4bc5a36eec4ffd5c949 Mon Sep 17 00:00:00 2001
From: Alexei Volkov <softkot@gmail.com>
Date: Thu, 23 Jan 2025 17:56:21 +0300
Subject: [PATCH 5/6] DEV-673

---
 common/common.proto | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/common/common.proto b/common/common.proto
index 03e5efe..a84f14c 100644
--- a/common/common.proto
+++ b/common/common.proto
@@ -396,13 +396,13 @@ message Profile {
 
 // значение поля из справочника
 message DictionaryItem {
-  string id = 1; // идентификатор объекта в справочнике
-  string text = 2; // содержимое объекта
+  string id = 1; // идентификатор объекта в справочнике (пусто если значение введено не из справочника)
+  string value = 2; // содержимое объекта
 }
 
 // данные профиля в контексте клуба
 message ProfileExtension {
-  DictionaryItem department = 1; // подразделение
+  DictionaryItem department = 1; // подразделение, отдел и т.д.
 }
 
 message ProfileExtensionRequirements {
@@ -412,6 +412,7 @@ message ProfileExtensionRequirements {
   }
   Field field = 1; // органичиваемое поле
   string dictionary_id = 2; // значение используемого словаря если поле не допускает произвольного заполнения
+  string label_override = 3; // переопределение стандартного описания поля
   bool optional = 3; // опциональное поле (не обязательно к заполнению)
 }
 
-- 
GitLab


From 3ddb16bf77b51ed2442db5ac93e22e54e8de51d0 Mon Sep 17 00:00:00 2001
From: Alexei Volkov <softkot@gmail.com>
Date: Thu, 23 Jan 2025 18:15:22 +0300
Subject: [PATCH 6/6] DEV-673

---
 common/common.proto | 1 +
 1 file changed, 1 insertion(+)

diff --git a/common/common.proto b/common/common.proto
index a84f14c..f79cb2d 100644
--- a/common/common.proto
+++ b/common/common.proto
@@ -414,6 +414,7 @@ message ProfileExtensionRequirements {
   string dictionary_id = 2; // значение используемого словаря если поле не допускает произвольного заполнения
   string label_override = 3; // переопределение стандартного описания поля
   bool optional = 3; // опциональное поле (не обязательно к заполнению)
+  int order = 4 ; // изменение порядка следования полей на форме 
 }
 
 message Achievements {
-- 
GitLab