package database import ( "database/sql" "errors" "log" "gopkg.in/guregu/null.v4" ) type Package struct { ID int `json:"id"` Name null.String `json:"name"` Active int `json:"active"` } func GetPackage(db *sql.DB) ([]Package, error) { var packages []Package rows, err := db.Query("SELECT * FROM dashboard_package") if err != nil { log.Println("Error querying list of OS", err) } defer rows.Close() for rows.Next() { var pkg Package err := rows.Scan(&pkg.ID, &pkg.Name, &pkg.Active) if err != nil { log.Println("Error building list", err) } packages = append(packages, pkg) } return packages, err } func GetPackagebyID(db *sql.DB, id int64) (Package, error) { var pkg Package if err := db.QueryRow("SELECT * FROM dashboard_package where id = ?", id).Scan(&pkg.ID, &pkg.Name, &pkg.Active); err != nil { if errors.Is(err, sql.ErrNoRows) { return pkg, nil } log.Println("Error getting OS by ID", err) } return pkg, nil }