New rewrite with svelte and pocketbase

This commit is contained in:
zuma 2025-04-12 16:08:00 +02:00
parent 72bfc2ed89
commit 160617af60
95 changed files with 4402 additions and 0 deletions

70
backend/crons.go Normal file
View file

@ -0,0 +1,70 @@
package main
import (
"log"
"fmt"
)
func (app *application) SetupCrons() {
app.pb.Cron().MustAdd("update_sets_and_cards", "0 3 * * *", func() {
log.Println("Started updating sets and cards...")
scryfallSets := fetchApiSets()
insertQuery := CreateBulkSetsInsertQuery(scryfallSets)
_, err := app.pb.DB().
NewQuery(insertQuery).
Execute()
if err != nil {
log.Println(fmt.Sprintf("[ERROR] %v",err))
}
log.Println(fmt.Sprintf("Updated %d sets", len(scryfallSets)))
setsCodesQuery := []MtgSet{}
err = app.pb.DB().
NewQuery("SELECT id, code FROM mtg_set").
All(&setsCodesQuery)
if err != nil {
log.Println(fmt.Sprintf("[ERROR] %v",err))
}
setsCodes := map[string]string{}
for _,v := range setsCodesQuery {
setsCodes[v.ID] = v.Code
}
selectedSets := []Brawlset{}
selectedSetsCodes := []string{}
err = app.pb.DB().
NewQuery("SELECT sets FROM brawlset").
All(&selectedSets)
if err != nil {
log.Println(fmt.Sprintf("[ERROR] %v",err))
}
for _, v := range selectedSets {
for _, set := range v.Sets {
selectedSetsCodes = append(selectedSetsCodes, setsCodes[set])
}
}
log.Println(fmt.Sprintf("Fetching %d sets...", len(selectedSetsCodes)))
allCards := []ScryfallCard{}
for _, v := range selectedSetsCodes {
url := "https://api.scryfall.com/cards/search?q=(game%3Apaper)+set%3A" + v
allCards = fetchApiCards(url, allCards)
}
upsertQuery := CreateBulkCardsUpsertQuery(allCards)
_, err = app.pb.DB().
NewQuery(upsertQuery).
Execute()
if err != nil {
log.Println(fmt.Sprintf("[ERROR] %v",err))
}
log.Println(fmt.Sprintf("Updated %d cards", len(allCards)))
})
app.pb.Cron().MustAdd("regenerate_cache_json", "30 3 * * *", func() {
GenerateCache(app.pb.App)
})
}