Функція initiator()

1. Опис

JUEL-функція initiator(): UserDto використовується для отримання та подальшого використання ініціатора (initiator) в процесі.

2. Параметри

Ця функція не приймає параметрів.

3. Що повертає

Ця функція повертає об’єкт типу UserDto, що містить дані про ініціатора процесу.

Таблиця 1. UserDto

Поле

Опис

userName

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

accessToken

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

language

Мова користувача.

drfo

Ідентифікаційний код користувача.

edrpou

Код ЄДРПОУ користувача.

fullName

Повне ім’я користувача.

roles

Ролі користувача.

subjectType

Тип суб’єкта користувача.

isRepresentative

Чи є користувач представником.

attributes

Інші атрибути користувача у вигляді ключів-значень.

Клас UserDto є обгорткою даних користувача.

4. Методи взаємодії

Функція надає наступні методи:

Метод

Опис

getUserName()

Повертає ім’я користувача, що можна використовувати в полях Assignee та Candidate Users задач користувача.

getAccessToken()

Повертає токен користувача, що можна використовувати в інтеграційних конекторах для інтеграції від імені користувача.

getLanguage()

Повертає мову користувача, що можна використовувати для налаштування інтерфейсу.

getDrfo()

Делегує виклик на JwtClaimsDto та повертає Keycloak-атрибут drfo користувача.

getEdrpou()

Делегує виклик на JwtClaimsDto та повертає Keycloak-атрибут edrpou користувача.

getFullName()

Делегує виклик на JwtClaimsDto та повертає Keycloak-атрибут fullName користувача.

getRoles()

Повертає ролі користувача.

getSubjectType()

Повертає тип суб’єкта користувача.

isRepresentative()

Повертає, чи є користувач представником.

getAttributes()

Повертає інші атрибути користувача у вигляді ключів-значень.

Токен ініціатора, а разом з ним і всі атрибути Keycloak, будуть доступні ЛИШЕ до першої користувацької задачі (User Task) у бізнес-процесі. Надалі використовуйте токен completer().

5. Приклади використання

Цей розділ демонструє приклади використання JUEL-функції у завданнях бізнес-процесу.

Де можна знайти приклад бізнес-процесу?

Адміністратор Платформи може розгорнути для вас демо-реєстр — еталонний реєстр, що містить референтні та інші приклади файлів для створення цифрового регламенту. Він містить різноманітні елементи для розробки моделі даних, бізнес-процесів, UI-форм, аналітичної звітності, витягів, сповіщень, зовнішніх інтеграцій та багато іншого.

Детальну інструкцію щодо розгортання демо-реєстру та отримання референтних прикладів моделювання ви знайдете на сторінці Розгортання демо-реєстру із референтними прикладами.

Застосування функції initiator() представлено у багатьох бізнес-процесах.

Ви можете використати один із багатьох прикладів процесів за пошуком по ключовим словам — officer-selfregistration-handmoderation.

У Кабінеті користувача бізнес-процес буде доступний у розділі Доступні послуги.

Існує декілька варіантів використання функції initiator() у бізнес-процесі.

Один із найбільш розповсюджених сценаріїв — застосування функції в інтеграційних розширеннях (делегатах) для передачі X-Access-Token у бізнес-процесі, тобто токена доступу користувача, під яким виконується операція. Цей токен забезпечує повноваження виконавця задачі щодо доступу до даних.

Приклад. Отримання токена доступу ініціатора процесу для виконання завдання
${initiator().accessToken}

Другий можливий варіант використання — передача параметрів ключ-значення (map) із даними користувача. Наприклад, для автентифікації. Надсилати такі параметри можна, наприклад, через Подію "Повідомлення". Ця подія повідомлення являє собою елемент у бізнес-процесі, який відправляє повідомлення з даними (ПІБ, РНОКПП та ЄДРПОУ з токена) про користувача до іншого учасника процесу або іншого процесу.

Приклад. Отримання імені користувача
${initiator().userName}
Детальніше про використання функції у бізнес-процесах див. сторінку Самостійна реєстрація користувачів з ручною модерацією.