ЕСОЗ - публічна документація
(GraphQL) Terminate declaration
Purpose
This WS allows to terminate a declaration from Admin panel.
Key points
This is a graphQl method used in Administration panel only.
Only authenticated and authorized NHS employee with appropriate scope can terminate a declaration.
Only active declaration can be terminated.
Specification
Link | API paragraph not found | Посилання на Apiary або Swagger |
Resource | API paragraph not found | Посилання на ресурс, наприклад: /api/persons/create |
Scope | declaration:terminate | Scope для доступу |
Components |
| Зазначається перелік бізнес компонентів, які використовують цей метод, наприклад: ePrescription |
Microservices | API paragraph not found | Перелік мікросервісів, які використовує метод API, наприклад: Auth, ABAC |
Protocol type |
| Тип протоколу, який використовується запитом, наприклад: SOAP | REST |
Request type |
| Тип запиту API, наприклад: GET, POST, PATCH… |
Sync/Async |
| Метод є синхронним чи асинхронним? |
Public/Private/Internal | Internal | Потрібно зазначити тип методу за ступенем доступності |
Logic
Update data:
declarations table by
declaration_id
set status = ‘terminated’
set reason = $.reason
set reason_description = $.reason_description
set updated_at, updated_by
Authorize
Verify the validity of access token
in case of error - return 401 (“Invalid access token”) in case of validation fails
Verify that token is not expired
in case of error - return 401 (“Invalid access token”)
Check user scopes in order to perform this action (scope = 'declaration:terminate')
return 403 (“Your scope does not allow to access this resource. Missing allowances: declaration:terminate”) in case of invalid scope(s)
Request data validation
Validate legal entity
Extract client_id from token.
Check client scopes in order to perform this action (scope = 'declaration:terminate')
in case of error - return 403 (“Your scope does not allow to access this resource. Missing allowances: declaration:terminate”)
Check client type (type = NHS)
In case of error - return 403 ('You don't have permission to access this resource')
Validate request
Check
declaration_id
submittedin case not submitted - return 422 ('required property declaration_id was not present')
in case does not exist in OPS db - return 404 ('Declaration not found')
in case exists in OPS db but is not active - return 409 ('Declaration is not active')
Check
reason
submittedin case not submitted - return 422 ('required property reason was not present')
in case value is not from
DECLARATION_REASON
dictionary - return 422 ('Value is not allowed in enum')
Processing
API paraagraph not found
Response structure
API paraagraph not found
Post-processing processes
API paraagraph not found
HTTP status codes
API paraagraph not found
ЕСОЗ - публічна документація