REST API method / Метод REST API (настанова) (remove the link block before publishing the document)
Properties of a REST API method document
Purpose
Describe the purpose of the API method, add Key points (if necessary)
Logic
Only authenticated and authorized HR, ADMIN, OWNER employees from MSP, OUTPATIENT, PRIMARY_CARE, EMERGENCY legal entities can deactivate equipments.
Only ACTIVE equipment can be deactivated
Legal entity can deactivate only its own equipments
Configuration parameters
Description of the configuration parameters that are used when processing a request in the system
Dictionaries
Provides a list of links to dictionaries that are available in Confluence
Input parameters
Input parameter | Mandatory | Type | Description | Example | |
---|---|---|---|---|---|
1 | id |
| String | Equipment identifier. Required | d290f1ee-6c54-4b01-90e6-d701748f0851 |
2 |
Request structure
See on API-specification
Headers
Key | Value | Mandatory | Description | Example | |
---|---|---|---|---|---|
1 | Content-Type | application/json | M | Тип контенту | Content-Type:application/json |
2 | Authorization | Bearer c2778f3064753ea70de870a53795f5c9 | M | Перевірка користувача | Authorization:Bearer c2778f3064753ea70de870a53795f5c9 |
3 | api-key | uXhEczJ56adsfh3Ri9SUkc4en | api-key:uXhEczJ56adsfh3Ri9SUkc4en |
Request data validation
Validate legal entity
Check that legal entity is active (status = ACTIVE, SUSPENDED)
Extract client_id from token (token.client_id == legal_entity_id)
Check legal entity status (status = ACTIVE, SUSPENDED)
In case of error - return 409 (Legal entity must be ACTIVE or SUSPENDED)
Validate equipment
Check that equipment with such ID exists in the system (is_active = true)
In case of error - return 404
Check that equipment belongs to the same legal entity as the user
In case of error - return 403
Validate transition
Only ACTIVE equipment can be deactivated
Available transitions
ACTIVE → INACTIVE
In other cases - return 409 error with message "INACTIVE equipment cannot be DEACTIVATED"
Processing
Update object in DB
1. equipments table
Patameter | Source | Description |
---|---|---|
status | Const: INACTIVE | By default INACTIVE for deactivated records |
updated_at | Timestamp: now() | Get current date-time |
updated_by | Token: user_id | Extract user from token |
Save object to DB
1. equipment_status_hstr table
Parameter | Source | Description |
---|---|---|
id | UUID | Autogenerated |
equipment_id | UUID | Reference to equipments.id |
status | Const: INACTIVE | By default INACTIVE for deactivated records |
inserted_by | Token: user_id | Extract user from token |
inserted_at | Timestamp: now() | Get current date-time |
Response structure examples
HTTP status codes
Response code | HTTP Status code | Message | Internal name | Description | |
---|---|---|---|---|---|
1 | Базові | ||||
2 | 200 | Response |
| ||
3 | 401 |
| Access token validation failed | ||
4 | 403 |
|
| ||
5 | 404 |
| Validation failed | ||
6 | 409 |
| Validation failed | ||
7 | 409 | INACTIVE equipment cannot be DEACTIVATED | |||
8 | 409 | Legal entity must be ACTIVE or SUSPENDED | |||
9 | Специфічні | ||||
10 |
Post-processing processes
Description of actions performed on data after processing
Technical modules where the method is used
List of pages describing technical modules where the method is used