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 }