ekyc

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

sms.ts (588B)


      1 import { createFakeSms } from "#infrastructure/fake/sms.ts";
      2 import { SwisscomOptions } from "#infrastructure/swisscom/ekyc_send_sms_challenge.ts";
      3 import { createSwisscomSmsSender } from "#infrastructure/swisscom/factory.ts";
      4 
      5 export type SwisscomDependencies = {
      6   environment: SwisscomOptions & { SMS_PROVIDER: "fake" | "swisscom" };
      7 };
      8 
      9 export function createSMSSender(dependencies: SwisscomDependencies) {
     10   switch (dependencies.environment.SMS_PROVIDER) {
     11     case "fake":
     12       return createFakeSms();
     13     case "swisscom":
     14       return createSwisscomSmsSender(dependencies);
     15   }
     16 }