Added scheduling check

This commit is contained in:
phoenix
2025-11-29 13:46:14 -05:00
parent 6b2907cd69
commit e4b6b191f0
+12 -3
View File
@@ -14,6 +14,7 @@ import (
"git.kundeng.us/phoenix/swoosh/swoop/types" "git.kundeng.us/phoenix/swoosh/swoop/types"
) )
type MessageSender struct { type MessageSender struct {
Config *config.TwiloConfig Config *config.TwiloConfig
} }
@@ -33,11 +34,9 @@ func (m *MessageSender) Send(msg message.Message, number contact.Contact, sendTi
params.SetFrom(m.Config.Number) params.SetFrom(m.Config.Number)
params.SetMessagingServiceSid(m.Config.ServiceSID) params.SetMessagingServiceSid(m.Config.ServiceSID)
params.SetBody(msg.Content) params.SetBody(msg.Content)
if sendTime != nil { if sendTime != nil && isSchedulable(now, sendTime) {
if sendTime.After(now) {
params.SetSendAt(*sendTime) params.SetSendAt(*sendTime)
} }
}
if resp, err := client.Api.CreateMessage(params); err != nil { if resp, err := client.Api.CreateMessage(params); err != nil {
return nil, fmt.Errorf("Error sending message: %v", err) return nil, fmt.Errorf("Error sending message: %v", err)
@@ -49,3 +48,13 @@ func (m *MessageSender) Send(msg message.Message, number contact.Contact, sendTi
} }
} }
} }
func isSchedulable(now *time.Time, scheduled *time.Time) (bool) {
early := now.Add(300 * time.Second)
if scheduled.Before(early) && scheduled.After(now) {
return true
} else {
return false
}
}