ekyc

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

sms_challenge.ts (1019B)


      1 import { Code } from "#core/domain/code.ts";
      2 import { CodeChallenge } from "#core/domain/code_challenge.ts";
      3 import {
      4   SMS_CHALLENGE_ATTEMPT_LIMIT,
      5   SMS_CHALLENGE_REQUEST_LIMIT,
      6   SMS_CHALLENGE_TTL,
      7 } from "#core/domain/constants.ts";
      8 import { Ephemeral } from "#core/domain/ephemeral.ts";
      9 import { Limiter } from "#core/domain/limiter.ts";
     10 
     11 export class SmsChallenge extends CodeChallenge {
     12   constructor(
     13     verified?: boolean,
     14     code?: Code,
     15     codeExpire?: number,
     16     request?: number,
     17     requestExpire?: number,
     18     attempt?: number,
     19     attemptExpire?: number,
     20   ) {
     21     super(
     22       SMS_CHALLENGE_TTL,
     23       SMS_CHALLENGE_REQUEST_LIMIT,
     24       SMS_CHALLENGE_ATTEMPT_LIMIT,
     25       verified,
     26       new Ephemeral(code, codeExpire),
     27       new Limiter(
     28         SMS_CHALLENGE_REQUEST_LIMIT,
     29         SMS_CHALLENGE_TTL,
     30         request,
     31         requestExpire,
     32       ),
     33       new Limiter(
     34         SMS_CHALLENGE_ATTEMPT_LIMIT,
     35         SMS_CHALLENGE_TTL,
     36         attempt,
     37         attemptExpire,
     38       ),
     39     );
     40   }
     41 }