Функція initiator()
1. Опис
JUEL-функція initiator(): UserDto
використовується для отримання та подальшого використання ініціатора (initiator
) в процесі.
2. Параметри
Ця функція не приймає параметрів.
3. Що повертає
Ця функція повертає об’єкт типу UserDto
, що містить дані про ініціатора процесу.
Поле |
Опис |
|
Ім’я користувача. |
|
Токен користувача. |
|
Мова користувача. |
|
Ідентифікаційний код користувача. |
|
Код ЄДРПОУ користувача. |
|
Повне ім’я користувача. |
|
Ролі користувача. |
|
Тип суб’єкта користувача. |
|
Чи є користувач представником. |
|
Інші атрибути користувача у вигляді ключів-значень. |
Клас UserDto є обгорткою даних користувача.
|
4. Методи взаємодії
Функція надає наступні методи:
Метод |
Опис |
|
Повертає ім’я користувача, що можна використовувати в полях Assignee та Candidate Users задач користувача. |
|
Повертає токен користувача, що можна використовувати в інтеграційних конекторах для інтеграції від імені користувача. |
|
Повертає мову користувача, що можна використовувати для налаштування інтерфейсу. |
|
Делегує виклик на |
|
Делегує виклик на |
|
Делегує виклик на |
|
Повертає ролі користувача. |
|
Повертає тип суб’єкта користувача. |
|
Повертає, чи є користувач представником. |
|
Повертає інші атрибути користувача у вигляді ключів-значень. |
Токен ініціатора, а разом з ним і всі атрибути Keycloak, будуть доступні ЛИШЕ до першої користувацької задачі (User Task) у бізнес-процесі. Надалі використовуйте токен completer(). |
5. Приклади використання
Цей розділ демонструє приклади використання JUEL-функцій у завданнях бізнес-процесу для налаштування локалізації та отримання інформації про користувача.
Де можна знайти приклад бізнес-процесу?Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого. Еталонний регламент з прикладами для України зберігається в репозиторії Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами. Застосування функції Ви можете використати один із багатьох прикладів процесів за пошуком по ключовим словам — officer-selfregistration-handmoderation. У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги. |
Існує декілька варіантів використання функції initiator()
у бізнес-процесі.
Приклад 1. Використання функції initiator().accessToken
Один із найбільш розповсюджених сценаріїв — застосування функції в інтеграційних розширеннях (делегатах) для передачі X-Access-Token у бізнес-процесі, тобто токена доступу користувача, під яким виконується операція. Цей токен забезпечує повноваження виконавця задачі щодо доступу до даних.
${initiator().accessToken}
Приклад 2. Передача параметрів ключ-значення із даними користувача
Другий можливий варіант використання — передача параметрів ключ-значення (map) із даними користувача, наприклад, для автентифікації. Надсилати такі параметри можна через Подію "Повідомлення". Ця подія відправляє інформацію про користувача (ПІБ
, РНОКПП
, ЄДРПОУ
) до іншого учасника процесу або іншого процесу.
${initiator().userName}
Приклад 3. Отримання мови ініціатора процесу
Платформа також надає можливість отримати мову користувача, який ініціював бізнес-процес або виконував операцію над задачею, для використання на наступних етапах процесу як параметр. Значення за замовчуванням береться з поточної локалі реєстру. Коли клієнтський додаток виконує запит до сервісів user-task-management
або user-process-management
, значення HTTP-заголовка Accept-Language
зберігається разом із JWT-токеном користувача в БД Redis для подальшого доступу через JUEL-функцію initiator().language
.
${initiator().language}
Ця функція дозволяє використовувати мовні параметри на наступних кроках бізнес-процесу, щоб забезпечити коректне відображення інтерфейсу або повідомлень відповідно до мовних уподобань користувача.