TheMathemagicians/sevenkeys/database/operations/inserts.go

34 lines
838 B
Go
Raw Normal View History

2024-04-28 14:13:47 +00:00
package operations
import (
"database/sql"
)
func InsertCardStorageLocation(db *sql.DB, cardPrintingId string, isFoil bool, storageBox string, source string) error {
2024-05-27 11:05:52 +00:00
var lastPosition int
getLastPositionQuery := `SELECT Position FROM CardStorageLocation WHERE StorageBox = ? ORDER BY Position DESC LIMIT 1;`
2024-05-27 12:29:00 +00:00
err := db.QueryRow(getLastPositionQuery, storageBox).Scan(&lastPosition)
2024-05-27 11:05:52 +00:00
var nextPosition int
if err == sql.ErrNoRows {
nextPosition = 1
} else {
nextPosition = lastPosition + 1
}
insertQuery := `INSERT INTO CardStorageLocation
(CardPrintingId, IsFoil, StorageBox, Source, Position)
VALUES (?, ?, ?, ?, ?);`
2024-05-27 11:05:52 +00:00
insert, err := db.Prepare(insertQuery)
if err != nil {
return err
}
_, err = insert.Exec(cardPrintingId, isFoil, storageBox, source, nextPosition)
2024-05-27 11:05:52 +00:00
if err != nil {
return err
}
return nil
}