ЕСОЗ - публічна документація

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 8 Next »

Specification

Apiary

Authorize user

  1. Verify the validity of access token

    1. Return 401 in case validation fails

  2. Check scopes in order to perform this action (scope = 'append_auth_method:write')

    1. Return 403 in case invalid scope(s)

Logic

action = deactivate

  1. If IL_DB.authentication_method_request.status = NEW:

  • If person < 14, check that count(auth_method, where person.auth_methods.person_id = $.person_id) >=1 left

  • validate auth_method_request.auth_method_current:

    • If auth_method_request.auth_method_current = OTP - Verificate sms (Invoke verification module to verify OTP (OTP Verification))

    • If auth_method_request.auth_method_current = OFFLINE - verificate download documents

Update authentication method request

  • Change entity status in IL_DB.authentication_method_request to COMPLETED

  • Set updated_at - now() (Get current date-time)

  • Set updated_by - user_id (Extract user from token)

Update mpi.person_authentication_method:

  • set ended_at = now() (Get current date-time)

  • If deactivated auth_method where field default = True, then the method that was last added set a flag default = True

action = insert

  1. If IL_DB.authentication_method_request.status = NEW:

  1. if type = OTP or OFFLINE, person’s auth method that was before (off or offline) becomes inactive

  2. if type = THIRD_PERSON, set default=false and Calculate term of person_authentication_method

    Start date: start_date = Current_date()

    End date:

    if (person.age < 18) {  end_date = min(birth_date + 18y - 1d, start_date + third_person_term);} else {  end_date = start_date + third_person_term;}

    Verificate sms - from third_person. Invoke verification module to verify OTP (OTP Verification) or verificate documents, if third_person.auth_method.type = OFFLINE

    Invoke Initialize OTP to generate one time password and send it to person number( Phone_number: mpi.person_auth_method.phone_number, where person_id = $.person_id and default=True). At this stage, the patients receive an SMS message.

  3. If IL_DB.authentication_method_request.status = APPROVED:

action = update

  • If IL_DB.authentication_method_request.status = NEW:

  1. Verificate sms - from third_person. Invoke verification module to verify OTP (OTP Verification) or verificate documents, if third_person.auth_method.type = OFFLINE

  2. Invoke Initialize OTP to generate one time password and send it to person number( Phone_number: mpi.person_auth_method.phone_number, where person_id = $.person_id and default=True). At this stage, the patients receive an SMS message.

  3. Update authentication method request

    1. Change entity status in IL_DB.authentication_method_request to APPROVED

    2. Set updated_at - now() (Get current date-time)

    3. Set updated_by - user_id (Extract user from token)

  • If IL_DB.authentication_method_request.status = APPROVED:

  1. Verificate sms - from person. Invoke verification module to verify OTP (OTP Verification)

  2. Update mpi

    1. Add to table person_auth_methods row with type = third_person

  • No labels