Table of Contents |
---|
...
- nhs_signer_id
- nhs_signer_base
- nhs_contract_price
- nhs_payment_method
- issue_city
- Miscellaneous
Validation
Validate token
- Verify the validity of access token
- Return 401 in case validation fails
- Check if token is not expired
- in case error return 401 - "Token is expired"
...
- Check if user is active
- in case error return 403 - (user is not active)
- check nhs_legal_entity is active
- in case error return 403 - (Client is not active)
- Check user role = "NHS ADMIN SIGNER"
- in case error return 403 "User is not allowed to perform this action"
Validate scopes
- Check user scopes in order to perform this action (scope = 'contract_request:update')
- Return 403 in case invalid scope(s) "Your scope does not allow to access this resource. Missing allowances: contract_request:update"
Validate contract request status
...
- Validate contract request id exists in DB
- in case error return 404 ("Contract request with id=$id doesn't exist")
- Validate request according to json schema
- in case error return 422 ("validation failed")
- Validate OPS.contract_request.contract_type == $.contract_type
- in case of error return 409 ("Contract_type does not correspond to previously created content")
- validate nhs_contract_price
- in case contract_type =` REIMBURSEMENT` nhs_contract_price shouldn`t be submitted
- in case of error return 409 - "nhs_contract_price is unavailable for reimbursement contract requests`
- nhs_contract_price should be >= 0
- in case error return 422 ("Contract price could not be negative")
- in case contract_type =` REIMBURSEMENT` nhs_contract_price shouldn`t be submitted
- Validate $nhs_signer_id: fetch prm.employees.id=$nhs_signer_id
- check client_id=prm.employees.legal_entity_id
- in case of error return 422 Error (Employee doesn't belong to legal_entity)
- check status='APPROVED' and is_active=true
- in case of error return 422 Error (Employee must be active)
- check client_id=prm.employees.legal_entity_id
Response
set
field | value |
---|---|
contract_requests.nhs_signer_id | $nhs_signer_id |
contract_requests.nhs_legal_entity_id | $client_id |
contract_requests.nhs_signer_base | $.nhs_signer_base |
contract_requests.issue_city | $.issue_city |
contract_requests.nhs_contract_price | $.nhs_contract_price |
contract_requests.nhs_payment_method | $.nhs_payment_method |
contract_requests.updated_by | $.user_id |
contract_requests.updated_at | now() |
contract_request_update_response.json_schema
...