45 lines
846 B
Go
45 lines
846 B
Go
package update
|
|
|
|
import (
|
|
"database/sql"
|
|
"log"
|
|
"sevenkeys/database"
|
|
|
|
"github.com/mtgban/go-mtgban/cardtrader"
|
|
)
|
|
|
|
func UpdateCardtraderData(db *sql.DB, token string) error {
|
|
client := cardtrader.NewCTAuthClient(token)
|
|
|
|
expansions, err := client.Expansions()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
for _, expansion := range expansions {
|
|
if expansion.GameId != cardtrader.GameIdMagic {
|
|
continue
|
|
}
|
|
|
|
err = database.InsertCardtraderExpansion(db, expansion)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
blueprints, err := client.Blueprints(expansion.Id)
|
|
if err != nil {
|
|
log.Printf("cardtrader: Error getting blueprints for Expansion ID %d: %v\n", expansion.Id, err)
|
|
continue
|
|
}
|
|
|
|
for _, blueprint := range blueprints {
|
|
err = database.InsertCardtraderBlueprint(db, blueprint)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|