Table of Contents |
---|
Ціль
Даний веб-сервіс дозволяє додавати елементи, такі як код чи послуга/service_group, до забороненої групи з панелі адміністратора груп.
Ключові моменти
Даний сервіс на graphQl використовується лише з панелі адміністрування.
Тільки авторизований та уповноважений працівник національної служби охорони здоров’я з відповідною областю може додавати елемент до забороненої групи.
Можуть бути додані такі види елементів: послуги, групи послуг, коди словників.
Елемент слід додати з накладанням цифрового підпису.
Доданий елемент повинен бути унікальним, в тому числі всі включні елементи у заборонених групах.
Один або кілька елементів можна додати тільки один раз.
Специфікація
|
Валідації
При мутації даних CreateForbiddenGroupItemsMutation використовуються такі перевірки.
Авторизація
Перевірити валідність токену доступу
у випадку неуспішної валідації - повернути 401 (“Invalid access token”)
Перевірити, що термін дії токену не минув
у випадку помилки - повернути 401 (“Invalid access token”)
Перевірити скоупи користувача, на можливість виконання даної дії (scope = 'forbidden_group:write')
повернути 403 (“Your scope does not allow to access this resource. Missing allowances: forbidden_group:write”) в разі невалідних скоупів
Перевірити юридичну організацію
Отримати client_id з токену.
Перевірити скоупи користувача, на можливість виконання даної дії (scope = 'forbidden_group:write')
у випадку помилки - повернути 403 (“Your scope does not allow to access this resource. Missing allowances: forbidden_group:write”)
Перевірити статус юридичної особи (status = ACTIVE)
у випадку помилки - повернути 409 ('client_id refers to legal entity that is not active')
Перевірити цифровий підпис
Перевірити, що запит підписано
у випадку помилки - повернути 422 (“document must be signed by 1 signer but contains 0 signatures”)
Перевірити, що цифровий підпис дійсний та чи не минув термін дії
Перевірити чи належить цифровий підпис користувачу
Перевірити, що ЕДРПОУ з цифрового підпису та party.tax_id співпадають
у випадку помилки - повернути 409 (“Signer DRFO doesn't match with requester tax_id“)
Перевірити запит
Перевірити, що forbidden_group_id вказано в запиті
...
у випадку помилки - повернути 422 ('required property creation_reason was not present')
Сервісна логіка
Наступна логіка використовується при мутації даних CreateForbiddenGroupItemsMutation
...