2024-08-20 11:57:36 +00:00
|
|
|
package database
|
|
|
|
|
|
|
|
import "database/sql"
|
|
|
|
|
2024-09-12 12:37:41 +00:00
|
|
|
var StorageAreaTypeBinder string = "Binder"
|
|
|
|
var StorageAreaTypeBox string = "Box"
|
|
|
|
|
2024-08-20 11:57:36 +00:00
|
|
|
type StorageArea struct {
|
2024-08-20 17:50:38 +00:00
|
|
|
Id int
|
|
|
|
Name string
|
|
|
|
StorageType string
|
2024-08-20 11:57:36 +00:00
|
|
|
}
|
|
|
|
|
2024-08-20 17:00:23 +00:00
|
|
|
func GetAllStorageAreas(db *sql.DB) ([]StorageArea, error) {
|
|
|
|
var storageAreas []StorageArea
|
|
|
|
|
|
|
|
query := `SELECT * FROM StorageArea;`
|
|
|
|
rows, err := db.Query(query)
|
|
|
|
defer rows.Close()
|
|
|
|
if err != nil {
|
|
|
|
return storageAreas, err
|
|
|
|
}
|
|
|
|
|
|
|
|
var area StorageArea
|
|
|
|
for rows.Next() {
|
2024-08-20 17:50:38 +00:00
|
|
|
err := rows.Scan(&area.Id, &area.Name, &area.StorageType)
|
2024-08-20 17:00:23 +00:00
|
|
|
if err != nil {
|
|
|
|
return storageAreas, err
|
|
|
|
}
|
|
|
|
|
|
|
|
storageAreas = append(storageAreas, area)
|
|
|
|
}
|
|
|
|
|
|
|
|
return storageAreas, nil
|
|
|
|
}
|
|
|
|
|
2024-08-20 11:57:36 +00:00
|
|
|
func InsertStorageArea(db *sql.DB, storageArea StorageArea) error {
|
|
|
|
query := `INSERT INTO StorageArea (Name, StorageType) VALUES (?, ?);`
|
|
|
|
|
|
|
|
insert, err := db.Prepare(query)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
2024-08-20 17:50:38 +00:00
|
|
|
_, err = insert.Exec(storageArea.Name, storageArea.StorageType)
|
2024-08-20 11:57:36 +00:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
2024-09-12 12:37:41 +00:00
|
|
|
|
|
|
|
func GetStorageAreaTypeById(db *sql.DB, storageAreaId int) (string, error) {
|
|
|
|
var storageType string
|
|
|
|
|
|
|
|
query := `SELECT StorageType FROM StorageArea WHERE Id = ?;`
|
|
|
|
row := db.QueryRow(query, storageAreaId)
|
|
|
|
|
|
|
|
err := row.Scan(&storageType)
|
|
|
|
if err != nil {
|
|
|
|
return storageType, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return storageType, nil
|
|
|
|
}
|