@@ -111,6 +111,26 @@ func getSMS( //nolint:ireturn
111111 return nil , nil //nolint:nilnil // SMS disabled, return nil client
112112 }
113113
114+ provider := strings .ToLower (cCtx .String (flagSMSProvider ))
115+ if provider == "" {
116+ provider = "twilio" // Default to Twilio for backward compatibility
117+ }
118+
119+ switch strings .ToLower (cCtx .String (flagSMSProvider )) {
120+ case "twilio" :
121+ return getTwilioSMS (cCtx , templates , db )
122+ case "dev" :
123+ return sms .NewDev (templates , db , logger ), nil
124+ default :
125+ return nil , fmt .Errorf ("unsupported SMS provider: %s" , provider ) //nolint:err113
126+ }
127+ }
128+
129+ func getTwilioSMS ( //nolint:ireturn
130+ cCtx * cli.Context ,
131+ templates * notifications.Templates ,
132+ db * sql.Queries ,
133+ ) (controller.SMSer , error ) {
114134 accountSid := cCtx .String (flagSMSTwilioAccountSid )
115135 authToken := cCtx .String (flagSMSTwilioAuthToken )
116136 messagingServiceID := cCtx .String (flagSMSTwilioMessagingServiceID )
@@ -126,19 +146,8 @@ func getSMS( //nolint:ireturn
126146 ), nil
127147 }
128148
129- if templates == nil {
130- var err error
131-
132- templates , err = getTemplates (cCtx , logger )
133- if err != nil {
134- return nil , fmt .Errorf ("problem creating templates: %w" , err )
135- }
136- }
137-
138149 return sms .NewTwilioSMS (
139150 templates ,
140- controller .GenerateOTP ,
141- controller .HashOTP ,
142151 accountSid ,
143152 authToken ,
144153 messagingServiceID ,
0 commit comments