New rewrite with svelte and pocketbase
This commit is contained in:
parent
72bfc2ed89
commit
160617af60
95 changed files with 4402 additions and 0 deletions
70
backend/crons.go
Normal file
70
backend/crons.go
Normal 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)
|
||||
})
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue