Purpose
This method allows to create new contract employee record for existing contract with GB_CBP type through the NHS IT system
Specification
Logic
WS creating new contract employee
Request structure
See on Apiary
Example:
Authorize
Verify the validity of api-key
Return 401 in case validation fails
Verify the validity of token
Return 401 in case validation fails
Check scopes in order to perform this action (scope = 'private_contracts:write')
Return 403 in case invalid scope(s)
Request to process the request using a token in the headers
Headers
Наприклад:
Content-Type:application/json
api-key:c2778f3064753ea70de870a53795f5c9
Request data validation
The following attributes must be validated
Validate employee_id
Check that employee exist and is_active = true
in case of error return 404 error $.employee_id ('Employee is not found')
Check that employee_id correspond to contractor legal entity through employees.legal_entity_id=contracts.contractor_legal_entity_id
in case of error return 422 error $.employee_id ('Employee is not correspond to contractor legal entity')
Validate division_id
Check that division exist and is_active = true
in case of error return 404 error $.division_id ('Division is not found')
Check that division_id correspond to contractor legal entity through divisions.legal_entity_id=contracts.contractor_legal_entity_id
in case of error return 409 error $.division_id ('Division is not correspond to contractor legal entity')
Validate contract_id
Check that contract exist and is_active = true and type = GB_CBP
in case error return 409 error $.contract_id ('Contract must be an active and with GB_CBP type')
Validate request
Only authenticated and authorized user can use this service
Contract employee must be valid and consistent, i.e. all "foreign keys" must be valid
Processing
Set system attributes
Attribute | Value |
---|---|
id | Generate uuid |
is_active | Const: true |
inserted_at | now() timastamp |
inserted_by | User from token |
updated_at | now() timastamp |
updated_by | User from token |
2. Store to DB
3. Audit log (trigger logic)
Response structure
See on Apiary
Example:
Post-processing processes
API paragraph not found
HTTP status codes
HTTP status code | Message | What caused the error |
---|---|---|
201 |
|
|