Fix failure to check last leaderboard on first start

This commit is contained in:
2023-12-03 00:11:15 -06:00
parent f9fa472373
commit 6a3b2fee23

View File

@ -133,6 +133,8 @@ func main() {
return return
} }
defer func() { lastBody = currBody }()
lastRead = time.Now().Unix() lastRead = time.Now().Unix()
jsonBytes, marshalErr := json.Marshal(map[string]any{"last_read": lastRead, "last_body": string(currBody)}) jsonBytes, marshalErr := json.Marshal(map[string]any{"last_read": lastRead, "last_body": string(currBody)})
if marshalErr != nil { if marshalErr != nil {
@ -144,6 +146,10 @@ func main() {
} }
} }
if len(lastBody) == 0 {
return
}
lastLeaderboard, lastLeaderboardErr := buildLeaderboard(lastBody) lastLeaderboard, lastLeaderboardErr := buildLeaderboard(lastBody)
if lastLeaderboardErr != nil { if lastLeaderboardErr != nil {
log.Println("Error building leaderboard from cached body:", lastLeaderboardErr) log.Println("Error building leaderboard from cached body:", lastLeaderboardErr)
@ -305,7 +311,7 @@ func buildLeaderboard(body []byte) (leaderboardData, error) {
var leaderboard leaderboardData var leaderboard leaderboardData
marshalErr := json.Unmarshal(body, &leaderboard) marshalErr := json.Unmarshal(body, &leaderboard)
if marshalErr != nil { if marshalErr != nil {
return leaderboard, fmt.Errorf("error unmarshaling string into leaderboardData: %w", marshalErr) return leaderboard, fmt.Errorf("error unmarshaling string `%s` into leaderboardData: %w", string(body), marshalErr)
} }
jsonObj, parseErr := fastjson.ParseBytes(body) jsonObj, parseErr := fastjson.ParseBytes(body)