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 }