Igris/pkg/sms/kavengar.go

33 lines
572 B
Go

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
}