Files
parcoursmob/core/application/sms.go
Arnaud Delcasse b5e722ff9b
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 2m52s
Add public theme
2026-01-30 18:44:17 +01:00

42 lines
975 B
Go

package application
import (
"context"
"errors"
"github.com/rs/zerolog/log"
)
func (h *ApplicationHandler) SendSMS(ctx context.Context, beneficiaryID, message string) error {
return h.GenerateSMS(ctx, beneficiaryID, message)
}
func (h *ApplicationHandler) GenerateSMS(ctx context.Context, recipientid string, message string) error {
recipient, err := h.services.GetAccount(ctx, recipientid)
if err != nil {
log.Error().Err(err).Msg("user not found")
return err
}
pn, ok := recipient.Data["phone_number"]
if !ok {
log.Error().Msg("Beneficiary doesn't have a phone number")
return errors.New("missing phone number")
}
phoneNumber, ok := pn.(string)
if !ok {
log.Error().Msg("phone number type error")
return errors.New("phone number type error")
}
sender := h.config.GetString("service_name")
err = h.services.SMS.Send(phoneNumber, message, sender)
if err != nil {
log.Error().Err(err).Msg("cannot send SMS")
return err
}
return nil
}