Overview
This web service is designed to change service request status to `In progress`.
Specification
Validations
Validate token
- Verify the validity of access token
- Return 401 in case validation fails
- Verify token is not expired
- in case of error return 401
Validate scopes
- Check user scopes in order to perform this action (scope = 'service_request:makeinprogress')
- Return 403 in case invalid scope(s)
Validate legal entity
- Check legal entity type: it has to be in me_allowed_transactions_le_types config parameter, has status = active
- in case of error return 409 "Action is not allowed for the leagal entity"
Validate transition
- Service request must be active
- ME.service_request.status == "active"
- in case of error return 409 "Invalid service request status"
- ME.service_request.status == "active"
- Program processing status should be in_queue
- ME.service_request.program_processing_status == "in_queue"
- in case of error return 409 "Invalid program processing status status"
- ME.service_request.program_processing_status == "in_queue"
Validate program
- Validate program according to Pre-Qualify rules.
- it is an existing service program (type=service)
- in case not found or is_active==false return 422 "Program not found"
- in case type!= service return 422 "Invalid program type"
- service(or service_group) is an active member of the program
- Select request_allowed, is_active from PRM.program_services where service_id(or group_id) == $.signed_content.code.identifier.value and program_id=$.program.identifier.value
- if not found or is_active==false return 422 "Service is not included in the program"
- Select request_allowed, is_active from PRM.program_services where service_id(or group_id) == $.signed_content.code.identifier.value and program_id=$.program.identifier.value
- it is an existing service program (type=service)
Qualify service request
- invoke qualify
Validate used_by_legal_entity
- Service request must be used by the same legal entity that current user is from
- ME.service_request.used_by_legal_entity=token.legal_entity_id
Request processing
- Change service_request.program_processing_status to "in_progress"