20 lines
427 B
Go
20 lines
427 B
Go
package providers
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/spf13/viper"
|
|
)
|
|
|
|
type SMSProvider interface {
|
|
Send(phoneNumber string, message string, sender string) error
|
|
}
|
|
|
|
func NewSMSProvider(cfg *viper.Viper) (SMSProvider, error) {
|
|
provider := cfg.GetString("provider")
|
|
if provider == "smsfactor" {
|
|
return NewSMSFactorProvider(cfg.GetString("smsfactor.token")), nil
|
|
}
|
|
return nil, fmt.Errorf("provider %s not supported", provider)
|
|
}
|