33 lines
572 B
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
|
|
}
|