ЕСОЗ - публічна документація
AR_[NEW] (GraphQl) Search Device definitions_UA
Мета
Даний веб-сервіс WS розроблений, щоб дозволити співробітнику з відповідними скоупами здійснювати пошук медичних виробів.
Ключові положення
Це квері метод GraphQL використовується тільки в адміністративній панелі.
Тільки автентифіковані та авторизовані співробітники з відповідним скоупом можуть здійснювати пошук.
Користувач може профільтрувати перелік по пошуковим параметрам.
Специфікація
Авторизація
Перевірити валідність токену доступу
Повернути (401, 'Invalid access token') в разі неуспішних перевірок
Перевірити, що токен дійсний
в разі помилки - повернути (401, 'Invalid access token')
Перевірити скоупи користувача на можливість виконання даної дії (scope = 'device_definition:read')
Повернути (403, 'Your scope does not allow to access this resource. Missing allowances: device_definition:read') в разі невалідних скоупів
Перевірити юридичну особу
Отримати client_id з токену.
Перевірити статус юридичної особи (status = ACTIVE)
в разі помилки - повернути 409 ('client_id refers to legal entity that is not active')
Перевірити тип клієнта (type = NHS)
в разі помилки - повернути 403 ('You don't have permission to access this resource')
Сервісна логіка
Отримати всі записи з таблиць device_definitions та device_definition_names в базі даних PRM
Задіяти додаткові пошукові параметри (пов'язані за допомогою логічного І):
databaseId - здійснити пошук по device_definitions.id (використовуючи виключне співпадіння з
=
operator)deviceNames.type - здійснити пошук по device_definition_names.type (використовуючи виключне співпадіння з
=
operator )deviceNames.name - device_definition_names.name (використовуючи порівняння
like
, нечутливий до регістру)isActive - здійснити пошук по device_definitions.is_active (використовуючи виключне співпадіння з
=
operator)classificationType - пошу по device_definitions.classification_type (використовуючи виключне співпадіння з
=
operator)manufacturerName - пошук по device_definitions.manufacturer_name (використовуючи порівння
like
, нечутливий до регістру)modelNumber - пошук по device_definitions.model_number (використовуючи порівняння
like
, нечутливий до регістру)
Використовувати опційний порядок
якщо не передано
$.orderBy
- відсортувати записи по полюinserted_at
в спадаючому порядку.
Відобразити відповідь у відповідності до специфікації.
ЕСОЗ - публічна документація