Пошук сутностей у базі даних іншого реєстру
Розширення Search for entities in another registry data factory — делегат для пошуку сутностей у базі даних інших реєстрів на Платформі, який налаштовується за допомогою шаблону Search for entities from another registry data factory (registryDataFactoryConnectorSearchDelegate.json).
- Для налаштування шаблону делегата в Camunda Modeler, необхідно виконати наступні кроки:
-
-
Створіть Service Task.
-
На панелі налаштувань справа натисніть кнопку
Open Catalog
, оберіть відповідний шаблон Search for entities in another registry data factory зі списку та натиснітьApply
для підтвердження. -
Сконфігуруйте обраний шаблон:
Перед налаштуванням шаблону в Camunda Modeler переконайтеся, що папка із застосунком resources → element-templates містить файл registryDataFactoryConnectorSearchDelegate.json. -
У полі
Name
введіть назву сервісної задачі, в рамках якої налаштовується делегат. Наприклад,Отримати сутності із БД іншого реєстру на Платформі
. -
Перейдіть до секції Input Parameters (Вхідні параметри запита):
-
Розгорніть блок Target registry та вкажіть назву цільового реєстру для запуску в ньому бізнес-процесу.
Назва реєстру має відповідати назві, вказаній для реєстру (namespace) в адміністративній панелі Control Plane. -
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальну змінну для назви реєстру, в якому необхідно запустити бізнес-процес. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
вкажіть назву реєстру із Control Plane, в якому необхідно запустити бізнес-процес. Наприклад,test-another-registry
.У нашому випадку ми передаємо назву реєстру як константу, напряму, —
test-another-registry
.Можна також застосувати для цього функцію
submission()
і передати назву реєстру з користувацької форми як${submission('<formId>').formData.prop('namespace').value()}
, де'<formId>'
треба замінити на ID користувацької задачі (форми) у бізнес-процесі, а'namespace'
— атрибут для середовища (простір імен) кластера, де такий реєстр розгорнуто.Приклад 1. Приклад для передачі назви реєстру через функцію submission()${submission('childDataInput').formData.prop('namespace').value()}
-
-
Розгорніть блок Resource та вкажіть ресурс, тобто назву ендпоінту для критерію пошуку (view) в API Фабрики даних реєстру, до якого необхідно звернутися.
-
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальну змінну для ресурсу. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
вкажіть ресурс для критерію пошуку. Наприклад,edu-type-contains
.
-
-
Розгорніть блок Search variables та вкажіть змінні (параметри) пошуку, які необхідно передати у запиті.
-
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальні змінні для пошуку даних в іншому реєстрі. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —Map
.Іншими словами, необхідно передати набір пар "ключ-значення". -
У полі
Variable Assignment Value
вкажіть ключі та їх значення для параметрів пошуку.Додайте запис. Для цього натисніть
Add Entry
:-
Для поля
Key
вкажітьname
, а для поля Value вкажіть значення параметра. Наприклад,${submission('<formId>').formData.prop('name').value()}
.У нашому випадку ми передаємо 1 параметр (змінну) пошуку name
та його значення з відповідної форми (<formId>
) за допомогою функціїsubmission()
. Значення параметрів пошуку можна також визначати напряму як константу. Наприклад,some-value-for-name-key
.
-
-
-
Розгорніть блок X-Access-Token та вкажіть введіть токен доступу до ресурсу:
-
Активуйте позначку
Local Variable Assignment
→ON
. Це дозволить створити локальну змінну для токена доступу. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
введіть токен доступу. Наприклад,${initiator().accessToken}
.Токен доступу береться з АБО ініціатора (наприклад,
$initiator().accessToken}
), АБО виконавця останньої користувацької задачі (наприклад,${completer('taskDefinitionId').accessToken}
).
-
-
-
У секції Output Parameters (Вихідні параметри):
-
Розгорніть блок Result variable вкажіть назву змінної процесу, до якої необхідно записати результат (за замовчуванням —
response
):-
Активуйте позначку
Local Variable Assignment
→ON
. -
У полі
Variable Assignment Type
оберіть з випадного списку тип призначення змінної —String or Expression
. -
У полі
Variable Assignment Value
введіть назву результівної змінної (за замовчуванням —response
).
-
-
-
-