Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Request

fields for request

  • nhs_signer_base
  • nhs_contract_price
  • nhs_payment_method

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_requests:update')
    • Return 403 in case invalid scope(s) "Your scope does not allow to access this resource. Missing allowances: contract_requests:update"

Validate contract request status

  • Check contract_request.status=NEW
    • in case error return 422 - "Incorrect status of contract_request to modify it"

Validate data

  • 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 nhs_contract_price 
    • nhs_contract_price should be > 0
      • in case error return 422 ("Contract price could not be negative")

Response

set 

fieldvaluecontidions
contract_requests.nhs_signer_id$.user_idconsumer_id
contract_requests.nhs_signer_base$.nhs_signer_base
contract_requests.issue_city$.nhs_le_id.addresses.citytype=REGISTRATION
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_atnow()

contract_request_update_response.json_schema

...