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