Specification
Features - add service to group
Features - add service to group
Authorize
- Check user scope (scope = 'service_catalog:write') in order to perform this action
- In case error - generate 401 response
Active connection service with service group
Search active connection service with service group
SELECT * FROM service_inclusions WHERE is_active = True |
Logic
- When service add to service group - create new record in table
Service_inclusions
- When delete service from service group - search connection service with service group and set
is_active
= False
Validate status
When add service to service group check that Service/Service group should be active (is_active == TRUE)
- Validate `is_active` == FALSE
- if invalid - return 409 eror (message: "Service/Service group should be active !")
Validate PK Service/Service group
Check on existing Service/Service group record
Check exist Service/Service group by $.id.
if invalid - return 404 error (message: "Service/Service group is not found!")
Validate uniqueness active connection Service with Service group
Active connection service with service group. In case of duplication the error must be shown.
Check uniqueness by $.service_id and $.service_group_id and $.service_inclusions.is_active = True
- if invalid - return 409 error (message: "Service already added in service group")
Validate Service Group
- When add service to group, check Service group don't have active subroup:
- if invalid - return 422 error (message: "ServiceGroup should not have active subgroups")
Validate Program service
- When add service to group and this Service group included in program service, check that Service included in this program service
- if invalid - return 422 error (message: "Service should be included in all medical programs which ServiceGroup included in")
When deactivate service from program service, check that Service group (in which service included) don't included in this program service
- if invalid - return 422 error (message: "Service should be removed from ServiceGroup which included in this medical program")