Table of Contents |
---|
...
- Verify the validity of access token
- Return 401 in case validation fails
- Check scopes in order to perform this action (scope = 'employee_role:write')
- Return 403 in case invalid scope(s)
Validate request
Validate request using JSON schema
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 FK
- Validate healthcare_service_id - healthcare service exists and is_active = true
- Return 422 in case validation fails
- Validate employee_id - employee exists and is_active = true
- Return 422 in case validation fails
...
- Extract client_id from token (token.client_id == legal_entity_id)
- Validate legal entity on employee service
- Check employee status (status = APPROVED)
- Validate specialization on employee and (where specialities.speciality_officio = true) and healthcare service
Save object to DB
Parameter | Source | Description |
---|---|---|
id | UUID | Autogenerated |
start_date | Timestamp: now() | Get current date-time |
status | Const: ACTIVE | By default ACTIVE for new records |
is_active | Const: TRUE | Always TRUE for new records |
inserted_at | Timestamp: now() | Get current date-time |
inserted_by | Token: user_id | Extract user from token |
updated_at | Timestamp: now() | Get current date-time |
updated_by | Token: user_id | Extract user from token |
...