tsk-11: Obtain refresh token (#18)

Closes #11

Reviewed-on: #18
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
This commit is contained in:
phoenix
2025-12-04 03:13:13 +00:00
committed by phoenix
parent a4fefd5bc6
commit 66c7fc261f
4 changed files with 78 additions and 24 deletions
+29 -22
View File
@@ -3,7 +3,6 @@ package core
import (
"context"
"encoding/json"
"fmt"
"log"
"sync"
"time"
@@ -57,46 +56,54 @@ func (s *Service) worker1() {
// Do some work
now := time.Now()
log.Println("Worker 1: Processing...")
catapultAuth := service.Auth{Application: s.App}
if s.token == nil {
catapultAuth := service.Auth{Application: s.App}
log.Println("Token has not been fetched")
log.Println("Fetching token")
if token, err := catapultAuth.GetToken(); err != nil {
fmt.Println("Error:", err)
log.Println("Error:", err)
} else {
fmt.Println("Access token:", token.AccessToken)
log.Println("Token fetched")
s.token = token
}
} else if catapultAuth.TokenExpired(s.token) {
// Get refresh token
log.Println("Token expired")
log.Println("Fetching refresh token")
refreshToken, err := catapultAuth.GetRefreshToken(s.token)
if err != nil {
log.Println("Error getting refresh token:", err)
} else {
log.Println("Refresh token fetched")
s.token = refreshToken
}
}
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)
log.Println("Error:", err)
} else {
if *exists {
fmt.Println("Scheduled message Id:", item.Id)
fmt.Println("Created:", item.Created)
fmt.Println("Scheduled:", item.Scheduled)
fmt.Println("Status:", item.Status)
log.Println("Scheduled message Id:", item.Id)
log.Println("Created:", item.Created)
log.Println("Scheduled:", item.Scheduled)
log.Println("Status:", item.Status)
log.Println("User Id:", item.UserId)
if scheduledMessageValid(item, now) {
fmt.Println("Scheduled Message can be sent")
log.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)
log.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)
log.Println("Error getting message:", err)
} else {
if c, err := scheduler.GetContact(event.RecipientId); err != nil {
fmt.Println("Error getting contact:", err)
log.Println("Error getting contact:", err)
} else {
fmt.Println("Message Id:", msg.Id)
fmt.Println("Contact Id:", c.Id)
log.Println("Message Id:", msg.Id)
log.Println("Contact Id:", c.Id)
if res, sent, err := scheduler.ScheduleMessage(*item, *event, *c, *msg); err != nil {
log.Println("Failure with scheduling the message:", err)
} else {
@@ -139,10 +146,10 @@ func (s *Service) worker1() {
}
}
} else {
fmt.Println("Invalid scheduled message")
log.Println("Invalid scheduled message")
}
} else {
fmt.Println("Empty queue")
log.Println("Empty queue")
}
}
}