package sms import ( "backend/config" "github.com/kavenegar/kavenegar-go" ) type Kavenegar struct { *kavenegar.Kavenegar } type OTPMsg struct { Receptor string Token string Template string Params kavenegar.VerifyLookupParam } func NewKavenegar(cfg config.SMSProvider) *Kavenegar { instance := kavenegar.New(cfg.APIKey) return &Kavenegar{ Kavenegar: instance, } } func (k *Kavenegar) OTP(otpMsg *OTPMsg) error { if _, err := k.Verify.Lookup(otpMsg.Receptor, otpMsg.Template, otpMsg.Token, &otpMsg.Params); err != nil { return err } return nil }