TheMathemagicians/sevenkeys/database/card.go

66 lines
1.4 KiB
Go
Raw Normal View History

2024-05-29 19:55:38 +00:00
package database
import (
"database/sql"
)
type CardPrinting struct {
Id string
2024-05-29 19:55:38 +00:00
Name string
SetCode string
IsFoil bool
IsPromo bool
CollectorNumber string
ImageUrl string
2024-05-29 19:55:38 +00:00
Language string
}
func InsertCardPrinting(db *sql.DB, cardPrinting CardPrinting) error {
query := `INSERT INTO CardPrinting (
Id,
2024-05-29 19:55:38 +00:00
Name,
SetCode,
IsFoil,
IsPromo,
CollectorNumber,
ImageUrl,
2024-05-29 19:55:38 +00:00
Language)
VALUES (?, ?, ?, ?, ?, ?, ?, ?);`
2024-05-29 19:55:38 +00:00
insert, err := db.Prepare(query)
defer insert.Close()
if err != nil {
return err
}
_, err = insert.Exec(cardPrinting.Id, cardPrinting.Name, cardPrinting.SetCode, cardPrinting.IsFoil, cardPrinting.IsPromo, cardPrinting.CollectorNumber, cardPrinting.ImageUrl, cardPrinting.Language)
2024-05-29 19:55:38 +00:00
if err != nil {
return err
}
return nil
}
2024-05-30 13:32:04 +00:00
func GetAllCardPrintings(db *sql.DB) ([]CardPrinting, error) {
var cardPrintings []CardPrinting
query := `SELECT Id, Name, SetCode, IsFoil, IsPromo, CollectorNumber, Language FROM CardPrinting;`
rows, err := db.Query(query)
defer rows.Close()
if err != nil {
return cardPrintings, err
}
var printing CardPrinting
for rows.Next() {
err := rows.Scan(&printing.Id, &printing.Name, &printing.SetCode, &printing.IsFoil, &printing.IsPromo, &printing.CollectorNumber, &printing.Language)
if err != nil {
return cardPrintings, err
}
cardPrintings = append(cardPrintings, printing)
}
return cardPrintings, nil
}