This commit is contained in:
2024-08-08 17:18:46 +02:00
parent 4ddeb76c0c
commit 0ed8d1b724
8 changed files with 68 additions and 48 deletions

View File

@@ -2,16 +2,17 @@ package database
import (
"database/sql"
"errors"
"log"
"gopkg.in/guregu/null.v4"
)
type OS struct {
ID int `json:"id"`
Distribution null.String `json:"distribution"`
Version null.String `json:"version"`
End_of_support null.String `json:"end_of_support"`
ID int `json:"id"`
Distribution null.String `json:"distribution"`
Version null.String `json:"version"`
EndOfSupport null.String `json:"EndOfSupport"`
}
func GetOS(db *sql.DB) ([]OS, error) {
@@ -20,11 +21,16 @@ func GetOS(db *sql.DB) ([]OS, error) {
if err != nil {
log.Println("Error querying list of OS", err)
}
defer rows.Close()
defer func(rows *sql.Rows) {
err := rows.Close()
if err != nil {
}
}(rows)
for rows.Next() {
var os OS
err := rows.Scan(&os.ID, &os.Distribution, &os.Version, &os.End_of_support)
err := rows.Scan(&os.ID, &os.Distribution, &os.Version, &os.EndOfSupport)
if err != nil {
log.Println("Error building list", err)
}
@@ -35,8 +41,8 @@ func GetOS(db *sql.DB) ([]OS, error) {
func GetOSbyID(db *sql.DB, id int64) (OS, error) {
var os OS
if err := db.QueryRow("SELECT * FROM dashboard_os where id = ?", id).Scan(&os.ID, &os.Distribution, &os.Version, &os.End_of_support); err != nil {
if err == sql.ErrNoRows {
if err := db.QueryRow("SELECT * FROM dashboard_os where id = ?", id).Scan(&os.ID, &os.Distribution, &os.Version, &os.EndOfSupport); err != nil {
if errors.Is(err, sql.ErrNoRows) {
return os, nil
}
log.Println("Error getting OS by ID", err)
@@ -83,7 +89,7 @@ func CreateOS(os OS, db *sql.DB) error {
if err != nil {
log.Println("Error creating query", err)
}
_, err = q.Exec(&os.Distribution, &os.Version, &os.End_of_support)
_, err = q.Exec(&os.Distribution, &os.Version, &os.EndOfSupport)
if err != nil {
log.Println("Error inserting OS", err)
}

View File

@@ -2,6 +2,7 @@ package database
import (
"database/sql"
"errors"
"log"
"gopkg.in/guregu/null.v4"
@@ -35,7 +36,7 @@ func GetPackage(db *sql.DB) ([]Package, error) {
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 err == sql.ErrNoRows {
if errors.Is(err, sql.ErrNoRows) {
return pkg, nil
}
log.Println("Error getting OS by ID", err)

View File

@@ -8,7 +8,7 @@ import (
type Server struct {
ID int `json:"id"`
Hostname string `json:"hostname"`
Os_id int `json:"os_id"`
OsId int `json:"OsId"`
}
func GetServersList(db *sql.DB) ([]Server, error) {
@@ -17,11 +17,16 @@ func GetServersList(db *sql.DB) ([]Server, error) {
if err != nil {
log.Println("Error querying servers list", err)
}
defer rows.Close()
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.Os_id)
err := rows.Scan(&s.ID, &s.Hostname, &s.OsId)
if err != nil {
log.Println("Error building servers list", err)
}
@@ -33,7 +38,10 @@ func GetServersList(db *sql.DB) ([]Server, error) {
func GetServersbyID(db *sql.DB, id int64) Server {
var s Server
rows := db.QueryRow("SELECT * FROM dashboard_server WHERE id = ?", id)
rows.Scan(&s.ID, &s.Hostname, &s.Os_id)
err := rows.Scan(&s.ID, &s.Hostname, &s.OsId)
if err != nil {
return Server{}
}
return s
}
@@ -43,11 +51,16 @@ func GetServersbyOS(db *sql.DB, id int64) ([]Server, error) {
if err != nil {
log.Println("Error querying servers list by os_id", err)
}
defer rows.Close()
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.Os_id)
err := rows.Scan(&s.ID, &s.Hostname, &s.OsId)
if err != nil {
log.Println("Error building servers list", err)
}

View File

@@ -17,9 +17,9 @@ func GetDatabaseConnection() *sql.DB {
Addr: os.Getenv("DATABASE_HOST"),
DBName: os.Getenv("DATABASE_NAME"),
}
DB_conn, err := sql.Open("mysql", cfg.FormatDSN())
DbConn, err := sql.Open("mysql", cfg.FormatDSN())
if err != nil {
log.Println("Database connection error : ", err)
}
return DB_conn
return DbConn
}