Purpose
This method allows to deactivate a previously added employee role
Specification
Logic
Only authenticated and authorized user can use this service
Only ACTIVE employee role can be deactivated
Legal entity can deactivate only its own employee roles
Input parameters
Input parameter | Values | Type | Description | Example |
---|---|---|---|---|
id |
| String | Employee role identifier. Optional | d290f1ee-6c54-4b01-90e6-d701748f0851 |
Authorize
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)
Headers
Content-Type:application/json
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 employee role
Check that employee role with such ID exists in the system (is_active = true)
In case of error - return 404
Check that employee role belongs to the same legal entity as the user
In case of error - return 403
Validate transition
Only ACTIVE employee role can be deactivated
Available transitions
ACTIVE → INACTIVE
In other cases - return 409 error ('{current_status} employee role cannot be DEACTIVATED')
Processing
Update object in DB
Parameter | Source | Description |
---|---|---|
end_date | Timestamp: now() | Get current date-time |
status | Const: INACTIVE | |
updated_at | Timestamp: now() | Get current date-time |
updated_by | Token: user_id |
Response structure
Example: