Files
2025-08-28 13:26:16 +02:00

59 lines
1.2 KiB
Go

package db
import (
"Advertisement_Panel/config"
"database/sql"
"fmt"
"log"
_ "github.com/lib/pq"
)
type ImagesEntry struct {
ID int `json:"id"`
Path string `json:"path"`
SpiceLevel int `json:"spice_level"`
}
var DB *sql.DB
func Init() {
log.Println("Initializing database connection...")
connStr := fmt.Sprintf("host=%s port=%s user=%s "+
"password=%s dbname=%s sslmode=disable",
config.Cfg.DB.Host, config.Cfg.DB.Port, config.Cfg.DB.Username, config.Cfg.DB.Password, config.Cfg.DB.Db)
log.Println(connStr)
var err error
DB, err = sql.Open("postgres", connStr)
if err != nil {
log.Println("Error connecting to the database: ", err)
}
}
func GetImageMetadata() []ImagesEntry {
rows, err := DB.Query("SELECT id, path, spice_level FROM images")
if err != nil {
log.Fatal(err)
}
defer rows.Close()
var data []ImagesEntry
for rows.Next() {
var id int
var path string
var spiceLevel int
if err := rows.Scan(&id, &path, &spiceLevel); err != nil {
log.Fatal(err)
}
data = append(data, ImagesEntry{ID: id, Path: path, SpiceLevel: spiceLevel})
}
if err := rows.Err(); err != nil {
log.Fatal(err)
}
return data
}