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 }