Added scheduling check (#5)

Reviewed-on: #5
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
phoenix
2025-11-29 19:22:29 +00:00
committed by phoenix
parent 6b2907cd69
commit 4bba8d6b3c
4 changed files with 19 additions and 8 deletions
+15 -4
View File
@@ -14,6 +14,8 @@ import (
"git.kundeng.us/phoenix/swoosh/swoop/types"
)
const Schedule_Type = "fixed"
type MessageSender struct {
Config *config.TwiloConfig
}
@@ -33,10 +35,9 @@ func (m *MessageSender) Send(msg message.Message, number contact.Contact, sendTi
params.SetFrom(m.Config.Number)
params.SetMessagingServiceSid(m.Config.ServiceSID)
params.SetBody(msg.Content)
if sendTime != nil {
if sendTime.After(now) {
params.SetSendAt(*sendTime)
}
if sendTime != nil && isSchedulable(&now, sendTime) {
params.SetSendAt(*sendTime)
params.SetScheduleType(Schedule_Type)
}
if resp, err := client.Api.CreateMessage(params); err != nil {
@@ -49,3 +50,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.After(early) {
return true
} else {
return false
}
}