...
Verify the validity of access token
Return 401 in case validation fails
Check user scopes in order to perform this action (scope = 'merge_request:write')
Return 403 in case invalid scope(s)
Validate merge request
Validate merge request id exists in DB
In case of error - return 404
Check merge request status is NEW or APPROVED
In case of error - return 422 (Incorrect status to reject merge request)
Validate employee
...
the employee has created this merge request
...
Select . Thus select inserted_atby from il.personmerge_requests of this merge request Compare user_id belongs to the same and compare it with user_id from the token.
Check that client_id from the token maches with il.merge_requests.legal_entity_idwhere the merge request was created.
If not match - return 422 error (User doesn’t belong to legal entity where the merge request was created)
Validate merge request
Validate merge request id exists in DB
In case of error - return 404
Check merge request status is NEW or APPROVED
In case of error - return 422 (Incorrect status to reject merge request)
Update object in DB
mpi.merge_requeststable
...