tsk-8: Schedule message (#15)
Closes #8 Reviewed-on: #15 Co-authored-by: phoenix <kundeng00@pm.me> Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
@@ -2,6 +2,7 @@ package core
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log"
|
||||
"sync"
|
||||
@@ -66,18 +67,55 @@ func (s *Service) worker1() {
|
||||
}
|
||||
}
|
||||
|
||||
log.Println("Twilio config account sid:", s.App.TwilioConfig.AccountSID)
|
||||
log.Println("Twilio config auth token:", s.App.TwilioConfig.AuthToken)
|
||||
log.Println("Twilio config service sid:", s.App.TwilioConfig.ServiceSID)
|
||||
log.Println("Twilio config number:", s.App.TwilioConfig.Number)
|
||||
|
||||
queue := service.Queue{Application: s.App, Token: s.token}
|
||||
if item, exists, err := queue.GetQueue(); err != nil {
|
||||
fmt.Println("Error:", err)
|
||||
} else {
|
||||
if *exists {
|
||||
fmt.Println("Id:", item.Id)
|
||||
fmt.Println("Scheduled message Id:", item.Id)
|
||||
fmt.Println("Created:", item.Created)
|
||||
fmt.Println("Scheduled:", item.Scheduled)
|
||||
fmt.Println("Status:", item.Status)
|
||||
fmt.Println("User Id:", item.UserId)
|
||||
log.Println("User Id:", item.UserId)
|
||||
if scheduledMessageValid(item, now) {
|
||||
fmt.Println("Scheduled Message can be sent")
|
||||
scheduler := service.Scheduler{Application: s.App, Token: s.token}
|
||||
if events, err := scheduler.GetEvents(item.Id); err != nil {
|
||||
fmt.Println("Error getting event:", err)
|
||||
} else {
|
||||
for _, event := range events {
|
||||
if msg, err := scheduler.GetMessage(event.MessageId); err != nil {
|
||||
fmt.Println("Error getting message:", err)
|
||||
} else {
|
||||
if c, err := scheduler.GetContact(event.RecipientId); err != nil {
|
||||
fmt.Println("Error getting contact:", err)
|
||||
} else {
|
||||
fmt.Println("Message Id:", msg.Id)
|
||||
fmt.Println("Contact Id:", c.Id)
|
||||
if res, err := scheduler.ScheduleMessage(*item, *event, *c, *msg); err != nil {
|
||||
log.Println("Failure with scheduling the message:", err)
|
||||
} else {
|
||||
if res != nil {
|
||||
bytes, err := json.Marshal(res)
|
||||
if err != nil {
|
||||
log.Println("Error parsing result:", err)
|
||||
} else {
|
||||
jsonValue := string(bytes)
|
||||
log.Println("Result:", jsonValue)
|
||||
}
|
||||
} else {
|
||||
log.Println("Result should not be empty")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
fmt.Println("Invalid scheduled message")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user