Purpose
This service is designed to obtain list of contract_requests by NHS employee.
Overview
- only nhs employee with scope "contract_requests:read" can get list of contract_requests
- list of contract_request could be filtered
UI Design
Capitation Contract Request graphQL schema
Reimbursement Contract Request graphQL schema
Capitation Contract Request features
Reimbursement Contract Request features
TBD
Specification
- Apiary
- json schema
- websequensediagram
Request
List of contract requests could be filtered by
- id
- contractor_legal_entity_id
- contractor_owner_id
- edrpou
- status
- contract_number
- nhs_signer_id
- issue_city (%LIKE%)
- page
- page_size
Validation
Validate token
- Verify the validity of access token
- Return 401 in case validation fails
- token is not expired
- in case error return 401
Validate scopes
- Check user scopes in order to perform this action (scope = 'contract_requests:read')
- Return 403 in case invalid scope(s) -"Your scope does not allow to access this resource. Missing allowances: contract_requests:read"
Validate employee
extract user_id from token
extract client_id from token
- 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"
Validate context
Return response to user limited by context from user's token
- if TOKENS_TYPES_PERSONAL
- return response limited by contractor_legal_entity_id
- if TOKENS_TYPES_NHS
- return non limitted response
Response
If no contract request found return 200 and empty array