From cb8435b65263177cbbe9eb9df7277812450e6634 Mon Sep 17 00:00:00 2001 From: The Magician Date: Thu, 30 May 2024 14:32:04 +0100 Subject: [PATCH] Implement storage logic --- sevenkeys/database/card.go | 23 ++++++++++ sevenkeys/database/operations/selects.go | 58 ------------------------ sevenkeys/logic/storage.go | 12 +++++ sevenkeys/main.go | 6 +++ 4 files changed, 41 insertions(+), 58 deletions(-) delete mode 100644 sevenkeys/database/operations/selects.go create mode 100644 sevenkeys/logic/storage.go diff --git a/sevenkeys/database/card.go b/sevenkeys/database/card.go index dbf1305..c8da72e 100644 --- a/sevenkeys/database/card.go +++ b/sevenkeys/database/card.go @@ -37,3 +37,26 @@ func InsertCardPrinting(db *sql.DB, cardPrinting CardPrinting) error { return nil } + +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 +} diff --git a/sevenkeys/database/operations/selects.go b/sevenkeys/database/operations/selects.go deleted file mode 100644 index 22191a2..0000000 --- a/sevenkeys/database/operations/selects.go +++ /dev/null @@ -1,58 +0,0 @@ -package operations - -import ( - "database/sql" - "fmt" - "sevenkeys/database/entities" - "strings" -) - -func GetCardSearchOptions(db *sql.DB) ([]string, error) { - var searchOptions []string - - query := "SELECT Id, Name, SetCode, HasFoil, HasNonFoil, CollectorNumber, Language FROM CardPrinting;" - rows, err := db.Query(query) - defer rows.Close() - if err != nil { - return searchOptions, err - } - - var printing entities.CardPrinting - for rows.Next() { - err := rows.Scan(&printing.Id, - &printing.Name, - &printing.SetCode, - &printing.HasFoil, - &printing.HasNonFoil, - &printing.CollectorNumber, - &printing.Language) - if err != nil { - return searchOptions, err - } - - // TODO: Make this configurable to be able to handle non-English cards - if printing.Language != "en" { - continue - } - - if printing.HasNonFoil { - searchOption := fmt.Sprintf("%s | %s (%s %s)", - printing.Id, - printing.Name, - strings.ToUpper(printing.SetCode), - printing.CollectorNumber) - searchOptions = append(searchOptions, searchOption) - } - - if printing.HasFoil { - searchOption := fmt.Sprintf("%s | %s (%s %s) FOIL", - printing.Id, - printing.Name, - strings.ToUpper(printing.SetCode), - printing.CollectorNumber) - searchOptions = append(searchOptions, searchOption) - } - } - - return searchOptions, nil -} diff --git a/sevenkeys/logic/storage.go b/sevenkeys/logic/storage.go new file mode 100644 index 0000000..dd91a9e --- /dev/null +++ b/sevenkeys/logic/storage.go @@ -0,0 +1,12 @@ +package logic + +import "fmt" + +func GetStorageLocation() string { + fmt.Print("Enter storage location: ") + + var response string + fmt.Scan(&response) + + return response +} diff --git a/sevenkeys/main.go b/sevenkeys/main.go index 3b496b8..cf4a285 100644 --- a/sevenkeys/main.go +++ b/sevenkeys/main.go @@ -36,4 +36,10 @@ func main() { } else { fmt.Println("No update required.") } + + storageLocation := logic.GetStorageLocation() + + for { + //name := logic.GetCardName + } }