Управління налаштуваннями користувача
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
Налаштування користувача зберігаються у фабриці даних та можуть бути змінені користувачем в процесі роботи одним з наведених засобів:
-
Кабінет людини/громадянина
-
Бізнес-процеси регламенту
Детальніше про структуру налаштувань можна дізнатися за Управління каналами зв’язку користувача. |
1. Робота з налаштуваннями через бізнес-процеси
1.1. Конектори
Для роботи з налаштуваннями через бізнес-процеси використовуються відповідні розширення-конектори:
-
Конектор для читання налаштувань - userSettingsConnectorReadDelegate. Має наступні параметри:
-
X-Access-Token - токен користувача від імені якого виконується запит на читання налаштувань
-
Result variable - змінна бізнес-процесу, в яку буде записано відповідь від сервісу налаштувань
-
-
Конектор для збереження налаштувань - userSettingsConnectorUpdateDelegate. Має наступні параметри:
-
X-Access-Token - токен користувача від імені якого виконується запит на зміну налаштування
-
Result variable - змінна бізнес-процесу, в яку буде записано відповідь від сервісу налаштувань
-
Payload - налаштування які потрібно зберегти згідно з контрактом.
-
Адреса settings-api задається в конфігурації сервісу виконання бізнес-процесів.
user-settings-service-api:
url: http://user-settings-service-api:8080
....
За замовчуванням відносна адреса сервісу налаштувань не буде змінюватись для різних інсталяцій Платформи. |
Наведена діаграма послідовності є прикладом використання конекторів в рамках бізнес-процесу. |
1.2. JUEL функція
Ще одна можливість яка надається платформою для роботи з налаштуваннями є спеціальна JUEL-функція settings() яка доступна розробнику бізнес-процесу при моделюванні. Функція може бути використана виключно в read-only режимі та не може змінити налаштування. Для зміни потрібно використовувати відповідний конектор
Функція settings() може бути використана:
-
Як частина Camunda Expression Language (EL)
-
У Groovy скриптах бізнес-процесу
Кожен виклик функції settings() призводить до HTTP-виклику API фабрики даних. |
1.2.1. Контракт
Return Type | Method | Example |
---|---|---|
settings(UserDto dto) |
settings(completer('user-task-input')) settings(initiator()) |
completer() та initiator() є іншими JUEL функціями, які повертають UserDto як результат виконання |
1.2.2. Опис структур
1.2.2.1. UserSettings
Назва | Схема | Коментар |
---|---|---|
settingsId |
string |
Унікальний ідентифікатор налаштувань в системі |
string |
Електронна пошта людини |
|
phone |
string |
Телефон людини |
communicationIsAllowed |
boolean |
Дозвіл на використання контактних даних для сповіщень |
1.2.2.2. UserDto
Назва | Схема | Коментар |
---|---|---|
username |
string |
Ім’я користувача |
accessToken |
string |
Токен користувача |
jwtClaimsDto |
JwtClaimsDto |
Поле для роботи зі змістом токену, як з об’єктом |
2. Робота з налаштуваннями через кабінет
Перегляд та зміна налаштувань користувача є однією з функцій кабінету чиновника/громадянина та може бути використаний без запуску бізнес-процесу. Для роботи з налаштуваннями через кабінет використовуються методи фабрики даних:
-
GET /settings - для читання поточних налаштувань
-
PUT /settings - для оновлення налаштувань користувача
Детальніше про контракт взаємодії можна дізнатися за посиланням. |
Методи роботи з налаштуваннями доступні через Kong API Gateway та вимагають автентифікації користувача.
Робота з налаштуваннями виконується лише для поточного користувача, який виконав вхід у систему. Зміна налаштувань іншого користувача неможлива за дизайном