ekyc

Electronic KYC process with uploading ID document using OAuth 2.1 (experimental)
Log | Files | Refs | README | LICENSE

phone_ekyc.ts (808B)


      1 import { Code } from "#core/domain/code.ts";
      2 import { PersonalPhoneNumber } from "#core/domain/personal_phone_number.ts";
      3 import { SmsChallenge } from "#core/domain/sms_challenge.ts";
      4 import { UUID } from "#core/domain/uuid.ts";
      5 
      6 export class PhoneEKYC {
      7   constructor(
      8     readonly id: UUID,
      9     private _phoneNumber: PersonalPhoneNumber | null = null,
     10     private _smsChallenge: SmsChallenge = new SmsChallenge(),
     11     public version: number = 0,
     12   ) {}
     13 
     14   get phoneNumber() {
     15     return this._phoneNumber;
     16   }
     17 
     18   get smsChallenge() {
     19     return this._smsChallenge;
     20   }
     21 
     22   requestSmsChallenge(phoneNumber: PersonalPhoneNumber) {
     23     this._phoneNumber = phoneNumber;
     24     return this.smsChallenge.requestChallenge();
     25   }
     26 
     27   verifySmsChallenge(code: Code) {
     28     this.smsChallenge.attemptChallenge(code);
     29   }
     30 }