package database import ( "database/sql" "log" ) type Server struct { ID int `json:"id"` Hostname string `json:"hostname"` OsId int `json:"OsId"` } func GetServersList(db *sql.DB) ([]Server, error) { var servers []Server rows, err := db.Query("SELECT * FROM dashboard_server") if err != nil { log.Println("Error querying servers list", err) } defer func(rows *sql.Rows) { err := rows.Close() if err != nil { } }(rows) for rows.Next() { var s Server err := rows.Scan(&s.ID, &s.Hostname, &s.OsId) if err != nil { log.Println("Error building servers list", err) } servers = append(servers, s) } return servers, err } func GetServersbyID(db *sql.DB, id int64) Server { var s Server rows := db.QueryRow("SELECT * FROM dashboard_server WHERE id = ?", id) err := rows.Scan(&s.ID, &s.Hostname, &s.OsId) if err != nil { return Server{} } return s } func GetServersbyOS(db *sql.DB, id int64) ([]Server, error) { var servers []Server rows, err := db.Query("SELECT * FROM dashboard_server WHERE os_id = ?", id) if err != nil { log.Println("Error querying servers list by os_id", err) } defer func(rows *sql.Rows) { err := rows.Close() if err != nil { } }(rows) for rows.Next() { var s Server err := rows.Scan(&s.ID, &s.Hostname, &s.OsId) if err != nil { log.Println("Error building servers list", err) } servers = append(servers, s) } return servers, err }