Existing method: cancelComposition
Implemented changes:
…
Processing
After all validations:
For conclusions that have the relatesTo.code=REPLACES attribute set, a verification of the MC record to which the relatesTo link is reffered
if the MC referred to by the current MC is not found — the task completes its execution with the code CANT_CANCEL_NOT_FOUND (1137)
if the MC referred to by the current MC does not have the AMENDED status - the task completes its execution with the code CANT_CANCEL_NONAMENDED_COMPOSITION (1136). In an ideal situation, this code should never occur
if the checks are passed, the MC to which the link is set changes its status from AMENDED to FINAL.
The body of the cancellation request signed by QES is stored in the Ceph object storage.
The MС status is set to ENTERED_IN_ERROR.
If the authorization method is specified in
extension.authorize_withextension.inform_with, check:Authentication method exists in person_authentication_methods table in MPI DB (with is_active=true), is active (ended_at > now() or null)
For authentication method with type = THIRD_PERSON - Get value of
THIRD_PERSON_CONFIDANT_PERSON_RELATIONSHIP_CHECK
config parameter, if it is set totrue
-check that person from value is an approved confidant for a person from composition – exists active and approved confidant person relationship between person from composition and confidant_person_id from authentication method value (using following logic: /wiki/spaces/CSI/pages/17667883028 withperson_id
=section.focus.value
from composition andconfidant_person_id
= value from auth method - expected:ok, :approved
response)in case any validation failed - do not send SMS to person
else - send SMS to authorization method
The task of canceling the MC in the ERLN is planned.