Пошук користувачів за функціями equal та Inverse startsWith

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

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

1. Загальний опис

Бізнес-назва інтеграційного розширення: Keycloak Get Officer Users By Attributes Equals And Start With.

Службова назва інтеграційного розширення: ${keycloakGetOfficerUsersByAttributesEqualsAndStartWith}.

Назва файлу у бібліотеці розширень: keycloakGetOfficerUsersByAttributesEqualsAndStartWith.json

Делегат потрібний для того, щоб при виконанні бізнес-процесу отримати список користувачів із системною роллю officer (посадова особа) за певними атрибутами із сервісу Keycloak.

Наразі обов’язковими атрибутами для всіх реєстрів є edrpou та drfo та fullName.

Реєстри можуть використовувати також довільні атрибути, зокрема KATOTTG.

У цьому документі ми розглядаємо пошук на прикладі 4-х згаданих атрибутів.

Keycloak API отримує GET-запити із заданими параметрами та повертає масив імен (username) користувачів, які надалі можна використати у бізнес-процесі.

Пошук за атрибутами edrpou, drfo та fullName здійснюється за допомогою функції equal, яка повертає значення, що мають точну відповідність (дорівнюють) заданим.

Пошук за атрибутом KATOTTG здійснюється за допомогою функції Inverse startsWith, яка повертає значення зі вказаним префіксом, тобто такі, що "починаються із" заданої умови.

Функція startsWith ():

Шукає користувачів, в яких у Keycloak значення певного атрибута "починається зі" значення, внесеного на UI-формі у Кабінеті користувача. При цьому значення атрибута в Keycloak є повним. Наприклад, edrpou = 88888888.

Функція Inverse startsWith ():

Працює так само як функція startsWith (), але значення атрибута в Keycloak є не повним. Наприклад, KATOTTG = UA0510003. Водночас повне значення атрибута в кодифікаторі UA05100030000051497.

Перед налаштуванням шаблону в Camunda Modeler переконайтеся, що каталог resources/element-templates застосунку містить файл keycloakGetOfficerUsersByAttributesEqualsAndStartWith.json.

2. Налаштування шаблону у бізнес-процесі

  1. Змоделюйте нову задачу.

  2. Визначте її тип, натиснувши іконку ключа та обравши з меню пункт Service Task (сервісна задача).

    search by katottg attr 01

  3. Перейдіть до панелі налаштувань справа та застосуйте делегат Keycloak Get Officer Users By Attributes Equals And Start With. Для цього оберіть відповідний шаблон із каталогу (Open Catalog) та натисніть Apply для підтвердження.

    search by katottg attr 02

    search by katottg attr 3

  4. Виконайте подальші налаштування:

    • У полі Name введіть назву задачі. Наприклад, Пошук користувачів за введеними атрибутами.

    • У полі Attributes Equals введіть значення для пошуку за ЄДРПОУ, та/або ДРФО, та/або ПІБ — ${attributesEquals}.

    • У полі Attribute Inverse Start With введіть значення для пошуку за КАТОТТГ — ${attributesStartsWith}.

      Наразі можна передати ключі та значення атрибутів лише як змінну.

      У нашому прикладі змінними для пошуку атрибутів є ${attributesEquals} та ${attributesStartsWith}.

      Об’єкти (пари ключ-значення) для атрибутів пошуку формуються скриптом у попередній задачі бізнес-процесу. Дані для скриптової задачі передаються з відповідної користувацької форми та обробляються скриптом. Результат виконання зберігається до змінних пошуку, які ми і використовуємо при налаштуванні шаблону делегата.

      search by katottg attr 2

    • У полі Result variable вкажіть змінну результату виконання пошуку, до якої необхідно зберегти список отриманих користувачів — usersByAttributes.

      search by katottg attr 1

Скористайтеся BPMN-схемою тестового бізнес-процесу, щоб побачити більше контексту використання делегата. Завантажте BPMN-файл та відкрийте у моделері для візуалізації процесу.

3. Використання параметрів пошуку у Кабінеті посадової особи

Система надає можливість пошуку як за одним з атрибутів, так і за комбінацією атрибутів: KATOTTG, edrpou, drfo та fullName

3.1. Передумови

  1. В системі є 3 користувачі з відповідними атрибутами ЄДРПОУ та КАТОТТГ:

    • Іванов, ЄДРПОУ 11111111, КАТОТТГ UA0502 (Вінницький р-н).

    • Петров, ЄДРПОУ 22222222, КАТОТТГ UA05 (Вінницька обл.).

    • Сидоренко, ЄДРПОУ 34554362, UA05 (Вінницька обл.).

  2. Розглянемо 3 сценарії пошуку:

    • За атрибутом ЄДРПОУ та значенням 34554362.

    • За атрибутом КАТОТТГ та значенням UA05100030000051497 (Вапнярська ТГ, Тульчинський р-н, Вінницька обл.).

    • За комбінацією атрибутів: ЄДРПОУ=34554362 та КАТОТТГ=UA05100030000051497.

3.2. Проходження процесу

  1. Першочергово для того, щоб потрапити до Кабінету посадової особи, необхідно пройти автентифікацію в системі за допомогою ключа.

    officer portal overview 01

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

  3. На формі задачі введіть значення одного атрибута ЄДРПОУ — 34554362 у відповідному полі. Натисніть пошук, щоб отримати результат.

    search by katottg attr 4

    В результаті система знаходить одного користувача, що задовольняє критеріям пошуку.

    search by katottg attr 5

  4. Виконайте задачу повторно та введіть на формі значення одного атрибута КАТОТТГ — UA05100030000051497 у відповідному полі. Натисніть пошук, щоб отримати результат.

    search by katottg attr 6

    В результаті система знаходить двох користувачів, що задовольняють критеріям пошуку.

    search by katottg attr 7

  5. Виконайте задачу повторно та введіть на формі значення комбінації атрибутів: ЄДРПОУ — 34554362 та КАТОТТГ — UA05100030000051497 у відповідному полі. Натисніть пошук, щоб отримати результат.

    search by katottg attr 8

    В результаті система знаходить одного користувача, що задовольняє критеріям пошуку.

    search by katottg attr 9