Управління налаштуваннями користувача

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

Налаштування користувача зберігаються у фабриці даних та можуть бути змінені користувачем в процесі роботи одним з наведених засобів:

Детальніше про структуру налаштувань можна дізнатися за Управління каналами зв’язку користувача.

1. Робота з налаштуваннями через бізнес-процеси

1.1. Конектори

Для роботи з налаштуваннями через бізнес-процеси використовуються відповідні розширення-конектори:

  • Конектор для читання налаштувань - userSettingsConnectorReadDelegate. Має наступні параметри:

    • X-Access-Token - токен користувача від імені якого виконується запит на читання налаштувань

    • Result variable - змінна бізнес-процесу, в яку буде записано відповідь від сервісу налаштувань

  • Конектор для збереження налаштувань - userSettingsConnectorUpdateDelegate. Має наступні параметри:

    • X-Access-Token - токен користувача від імені якого виконується запит на зміну налаштування

    • Result variable - змінна бізнес-процесу, в яку буде записано відповідь від сервісу налаштувань

    • Payload - налаштування які потрібно зберегти згідно з контрактом.

Адреса settings-api задається в конфігурації сервісу виконання бізнес-процесів.

Приклад конфігурації (application.yml):
user-settings-service-api:
  url: http://user-settings-service-api:8080
  ....
За замовчуванням відносна адреса сервісу налаштувань не буде змінюватись для різних інсталяцій Платформи.
Diagram
Наведена діаграма послідовності є прикладом використання конекторів в рамках бізнес-процесу.

1.2. JUEL функція

Ще одна можливість яка надається платформою для роботи з налаштуваннями є спеціальна JUEL-функція settings() яка доступна розробнику бізнес-процесу при моделюванні. Функція може бути використана виключно в read-only режимі та не може змінити налаштування. Для зміни потрібно використовувати відповідний конектор

Функція settings() може бути використана:

Кожен виклик функції settings() призводить до HTTP-виклику API фабрики даних.

1.2.1. Контракт

Return Type Method Example

UserSettings

settings(UserDto dto)

settings(completer('user-task-input')) settings(initiator())

completer() та initiator() є іншими JUEL функціями, які повертають UserDto як результат виконання

1.2.2. Опис структур

1.2.2.1. UserSettings
Назва Схема Коментар

settingsId

string

Унікальний ідентифікатор налаштувань в системі

email

string

Електронна пошта людини

phone

string

Телефон людини

communicationIsAllowed

boolean

Дозвіл на використання контактних даних для сповіщень

1.2.2.2. UserDto
Назва Схема Коментар

username

string

Ім’я користувача

accessToken

string

Токен користувача

jwtClaimsDto

JwtClaimsDto

Поле для роботи зі змістом токену, як з об’єктом

2. Робота з налаштуваннями через кабінет

Перегляд та зміна налаштувань користувача є однією з функцій кабінету чиновника/громадянина та може бути використаний без запуску бізнес-процесу. Для роботи з налаштуваннями через кабінет використовуються методи фабрики даних:

  • GET /settings - для читання поточних налаштувань

  • PUT /settings - для оновлення налаштувань користувача

Детальніше про контракт взаємодії можна дізнатися за посиланням.

Методи роботи з налаштуваннями доступні через Kong API Gateway та вимагають автентифікації користувача.

Робота з налаштуваннями виконується лише для поточного користувача, який виконав вхід у систему. Зміна налаштувань іншого користувача неможлива за дизайном

Diagram