Skip to content

Commit 0be66c2

Browse files
committed
Add delay in bulk message handler
1 parent 56b8fc8 commit 0be66c2

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

api/pkg/handlers/message_handler.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,11 @@ func (h *MessageHandler) BulkSend(c *fiber.Ctx) error {
157157
for index, message := range params {
158158
wg.Add(1)
159159
go func(message services.MessageSendParams, index int) {
160+
if message.SendAt == nil {
161+
sentAt := time.Now().UTC().Add(time.Duration(index) * time.Second)
162+
message.SendAt = &sentAt
163+
}
164+
160165
response, err := h.service.SendMessage(ctx, message)
161166
if err != nil {
162167
msg := fmt.Sprintf("cannot send message with paylod [%s]", c.Body())

api/pkg/requests/message_bulk_send_request.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ func (input *MessageBulkSend) ToMessageSendParams(userID entities.UserID, source
4040
from, _ := phonenumbers.Parse(input.From, phonenumbers.UNKNOWN_REGION)
4141

4242
var result []services.MessageSendParams
43-
for _, to := range input.To {
43+
for index, to := range input.To {
44+
sendAt := time.Now().UTC().Add(time.Duration(index) * time.Second)
4445
result = append(result, services.MessageSendParams{
4546
Source: source,
4647
Owner: from,
@@ -49,6 +50,7 @@ func (input *MessageBulkSend) ToMessageSendParams(userID entities.UserID, source
4950
UserID: userID,
5051
RequestReceivedAt: time.Now().UTC(),
5152
Contact: to,
53+
SendAt: &sendAt,
5254
Content: input.Content,
5355
})
5456
}

0 commit comments

Comments
 (0)