Purpose
Specification
Service logic
- Only authenticated and authorized user can use this service
- Only INACTIVE division can be activated
- Legal entity can activate only its own divisions
Authentication
- Verify the validity of access token
- Return 401 in case validation fails
- Check scopes in order to perform this action (scope = 'division:activate')
- Return 403 in case invalid scope(s)
Validate division
- Check that division with such ID exists in the system (is_active = true)
- In case of error - return 404
- Check that division belongs to the same legal entity as the user
- In case of error - return 403
Validate transition
Only INACTIVE divisions can be activated
Available transitions
- ACTIVE → INACTIVE
In other cases - return 409 error ('{current_status} division cannot be ACTIVATED')
Save object to DB
Parameter | Source | Description |
---|---|---|
status | ACTIVE | |
updated_at | Timestamp: now() | Get current date-time |
updated_by | Token: user_id |