Required parameters are marked with "*"
Якщо інформації по відповідному параметру немає, потрібно зазначити: “API paragraph not found”.
Purpose*
This method allows to create new contract employee record for existing contract with GB_CBP type through the NHS IT system
Specification*
Logic*
Потрібно по пунктах описати логіку методу API або додати діаграму
Filters Нужно ли использовать атрибуты ?
Filter | Values | Type | Description | Example |
---|---|---|---|---|
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
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
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')
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*
Що має відбутися в ЦБД після опрацювання та відправлення відповіді, тощо
HTTP status codes*
HTTP status code | Message | What caused the error |
---|---|---|
201 |
|
|