package database import ( "database/sql" "github.com/mtgban/go-mtgban/cardtrader" ) func InsertCardtraderBlueprint(db *sql.DB, blueprint cardtrader.Blueprint) error { query := `INSERT INTO CardtraderBlueprint ( Id, CardtraderCategoryId, CardtraderExpansionId, Name, CollectorNumber ) VALUES ( ?, ?, ?, ?, ? ) ON DUPLICATE KEY UPDATE Id = ?, CardtraderCategoryId = ?, CardtraderExpansionId = ?, Name = ?, CollectorNumber = ?;` insert, err := db.Prepare(query) defer insert.Close() if err != nil { return err } _, err = insert.Exec(blueprint.Id, blueprint.CategoryId, blueprint.ExpansionId, blueprint.Name, blueprint.FixedProperties.Number, blueprint.Id, blueprint.CategoryId, blueprint.ExpansionId, blueprint.Name, blueprint.FixedProperties.Number) if err != nil { return err } return nil } func GetAllCardtraderBlueprints(db *sql.DB) ([]cardtrader.Blueprint, error) { var blueprints []cardtrader.Blueprint query := `SELECT * FROM CardtraderBlueprint;` rows, err := db.Query(query) defer rows.Close() if err != nil { return blueprints, err } var blueprint cardtrader.Blueprint for rows.Next() { err := rows.Scan(&blueprint.Id, &blueprint.CategoryId, &blueprint.ExpansionId, &blueprint.Name, &blueprint.FixedProperties.Number) if err != nil { return blueprints, err } blueprints = append(blueprints, blueprint) } return blueprints, nil }