Видалення сутності з бази даних: Delete entity from data factory

1. Загальна інформація

Інтеграційне розширення Delete entity from data factory дозволяє налаштовувати завдання для видалення запису з бази даних у бізнес-процесі. Це розширення допомагає автоматизувати процеси видалення даних, забезпечуючи належне оброблення запитів та передачу даних між процесами. Розширення додає різні властивості до завдання типу Service Task.

Таблиця 1. Короткі відомості про делегат
Назва Пояснення

Бізнес-назва інтеграційного розширення

Delete entity from data factory

Службова назва інтеграційного розширення

${dataFactoryConnectorDeleteDelegate}

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

dataFactoryConnectorDeleteDelegate.json

Розширення Delete entity from data factory використовується, коли необхідно видалити ресурс з бази даних за вказаним ID.

2. Перед початком

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

При моделюванні бізнес-процесів із використанням сторонніх застосунків, важливо інтегрувати каталог типових розширень з нашого репозиторію. Завітайте до business-process-modeler-extensions, щоб завантажити необхідні файли. Наприклад, для таких інструментів, як Camunda Modeler, у вашій теці /element-templates мають бути включені відповідні JSON-файли. Для детальних інструкцій, будь ласка, перегляньте Встановлення типових розширень.

3. Налаштування

Делегат Delete entity from data factory призначений для використання у завданнях типу Service Task бізнес-процесу. Він дозволяє налаштувати видалення записів з передачею необхідних параметрів.

3.1. Налаштування завдання

  1. Створіть завдання типу Service Task у вашому бізнес-процесі.

  2. Назвіть завдання, наприклад, Видалити запис у фабриці даних.

  3. Застосуйте шаблон делегата, обравши Delete entity from data factory зі списку в налаштуваннях завдання.

    delete entity 1

3.2. Налаштування делегата

Виконайте наступні налаштування:

Resource

У полі Resource вкажіть назву ендпоінту / таблицю, з якої потрібно видалити запис. Наприклад, delegation-authorized-person.

На рівні API, цей ендпоінт виглядатиме наступним чином: /delegation-authorized-person/{id}, де {id} — це параметр шляху, що вказує на ID ресурсу, який потрібно видалити.
Resource id

У полі Resource id вкажіть шлях до ID ресурсу, який потрібно видалити. Наприклад:

${submission('UserTask_ShowAuthorizedPersons').formData.prop('editGrid').elements().get(0).prop('id').value()}

ID ресурсу отримується з даних форми завдання UserTask_ShowAuthorizedPersons. У цьому прикладі береться перший елемент з editGrid і з нього отримується значення поля id.

X-Access-Token

У полі X-Access-Token вкажіть токен доступу користувача, під яким виконується операція. Цей токен забезпечує повноваження виконавця задачі при видаленні даних.

  • Наприклад, вкажіть токен ініціатора процесу через JUEL-функцію initiator(), використавши метод accessToken:

    ${initiator().accessToken}
  • Альтернативно, ви можете вказати токен виконавця останнього користувацького завдання. Для цього ви можете використати JUEL-функцію completer(), передавши ID попередньої задачі та використавши метод accessToken. Наприклад:

    ${completer('UserTask_SignRemovingAuthorizedPerson').accessToken}
    • completer() — назва JUEL-функції.

    • 'UserTask_SignRemovingAuthorizedPerson' — ID попередньої задачі користувача.

    • accessToken — метод, який передає JWT-токен користувача.

X-Digital-Signature source

У полі X-Digital-Signature source вкажіть джерело цифрового підпису. Це поле вказує на Ceph-документ із цифровим підписом даних КЕП на стороні користувача (див. детальніше про підпис КЕП у делегатах Підписання даних КЕП надавача послуг: Officer Sign Task та Підписання даних КЕП отримувача послуг: Citizen Sign Task). Функція sign_submission() та метод signatureDocumentId дозволяють отримати підписані дані з UI-форми та передати ID Ceph-документа. Наприклад:

${sign_submission('UserTask_SignRemovingAuthorizedPerson').signatureDocumentId}
  • sign_submission — назва JUEL-функції.

  • 'UserTask_SignRemovingAuthorizedPerson' — ID завдання користувача, із даними, на які накладено КЕП.

  • signatureDocumentId — метод, який дозволяє отримати ID Ceph-документа, в якому зберігаються підписані КЕП дані.

X-Digital-Signature-Derived source
  • У полі X-Digital-Signature-Derived source вкажіть джерело системного цифрового підпису (цифрової печатки). Це поле вказує на Ceph-документ із системним цифровим підписом (цифровою печаткою), накладеним на дані. Наприклад, ${sysSignResult}.

    Значення ключа/ідентифікатора системного підпису можна отримати після підпису даних за допомогою делегата Підписання даних системним ключем: System signature by DSO service. Результат виконання операції підписання даних системним ключем буде збережено до вказаної змінної, наприклад, sysSignResult. Надалі ви зможете використати змінну в іншому місці процесу, зокрема під час збереження даних до БД або для генерування витягу тощо.

  • (Альтернативно) Скористайтеся наступним виразом для отримання системного підпису:

    ${execution.getVariable("secure-sys-var-ref-task-form-data-{taskDefinitionId}")}

    де taskDefinitionId — ID задачі, звідки потрібно отримати змінну.

Result variable

У полі Result variable задайте ім’я для змінної, в якій буде зберігатися відповідь від операції створення сутності, наприклад, removeResponse.

Після успішного завершення операції, делегат отримує у відповідь HTTP-код:

204 OK

Тіло відсутнє.

4. Приклад

Ось приклад, який показує, як відповідний делегат використовується у бізнес-процесі:

delete entity 2
Зображення 1. Приклад. Налаштування делегата Delete entity from data factory
Де можна знайти приклад бізнес-процесу?

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

Еталонний регламент з прикладами для України зберігається в репозиторії ua-registry-demo-regulation.

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

Delete entity from data factory — делегат, який використовується у деяких бізнес-процесах, що потребують видалення записів у БД.

Ви можете використати один із прикладів процесів за пошуком по ключовим словам — reference-authorization-management.

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