This commit is contained in:
2025-04-07 15:36:08 +10:00
parent 0214d95d3e
commit 4508b19f4b
5 changed files with 257 additions and 334 deletions

View File

@ -33,9 +33,10 @@ func FetchAndStore[T any](
defer wg.Done()
defer func() { <-concurrence }()
// items data from igdb
items, err := e.Paginated(uint64(i), 500)
if err != nil {
log.Printf("failed to get items: %v", err)
log.Printf("failed to get items from igdb %s: %v", e.GetEndpointName(), err)
return
}
@ -48,14 +49,15 @@ func FetchAndStore[T any](
if v, ok := any(item).(IdGetter); ok {
ids = append(ids, v.GetId())
} else {
log.Printf("failed to get id from item: %v", err)
log.Printf("failed to get id from item %s: %v", e.GetEndpointName(), err)
return
}
}
// items data from database
data, err := db.GetItemsByIGDBIDs[T](e.GetEndpointName(), ids)
if err != nil {
log.Printf("failed to get items: %v", err)
log.Printf("failed to get items from database %s: %v", e.GetEndpointName(), err)
return
}
@ -63,7 +65,7 @@ func FetchAndStore[T any](
for _, item := range items {
v, ok := any(item).(IdGetter)
if !ok {
log.Printf("failed to get id from item: %v", err)
log.Printf("failed to get id from item %s: %v", e.GetEndpointName(), err)
return
} else {
if data[v.GetId()] == nil {
@ -76,7 +78,7 @@ func FetchAndStore[T any](
}
err = db.SaveItems(e.GetEndpointName(), newItems)
if err != nil {
log.Printf("failed to save games: %v", err)
log.Printf("failed to save games %s: %v", e.GetEndpointName(), err)
return
}