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 }