Ціль
Даний веб-сервіс створений для отримання детальної інформації про апрувал пацієнта.
Специфікація
Авторизація
Перевірити валідність токену доступу
В разі помилки валідації повернути код (401, 'Invalid access token')
Перевірити, що токен дійсний
в разі помилки - повернути код (401, 'Invalid access token')
Перевірити скоупи користувача на можливість виконання запрошеної дії (scope = 'approval:read')
Повернути (403, 'Your scope does not allow to access this resource. Missing allowances: approval:read') в разі некоректних скоупів/scope(s)
Перевірити пацієнта
Отримати ідентифікатор пацієнта з URL
Перевірити, що вона існує в БД
Повернути в разі помилки 404 ('Person is not found')
Перевірити апрувал
Отримати ідентифікатор апрувала з URL
Перевірити, що вона існує в БД
Повернути 404 ('not found') в разі помилки
Перевірити користувача
Отримати user_id з токену.
Перевірити, що користувач має активну декларацію з пацієнтом з URL (може отримати всі апрувал) або що апрувал наданий користувачу (може отримати власний апрувал):
Повернути 200 з пустим масивом в разі, якщо співробітник не має активної декларації з пацієнтом або якщо апрувал наданий користувачу
Логіка сервісу
Сервіс повертає детальну інформацію про апрувал пацієнта:
Отримати апрувал по patient_id та id апрувалу з колекції апрувалів (MongoDB).
Відобразити відповідь у відповідності до специфікації.