Adding support for packages

This commit is contained in:
2024-07-19 16:34:56 +02:00
parent 5c14017a78
commit 4ddeb76c0c
6 changed files with 138 additions and 2 deletions

56
Http/package.go Normal file
View File

@@ -0,0 +1,56 @@
package http
import (
"encoding/json"
db "infra-dashboard/Database"
"log"
"net/http"
"strconv"
"time"
"github.com/gorilla/mux"
)
func GetAllPackages(w http.ResponseWriter, r *http.Request) {
var list []db.Package
var err error
t := time.Now()
status := 200
db_conn := db.GetDatabaseConnection()
defer db_conn.Close()
list, err = db.GetPackage(db_conn)
if err != nil {
log.Println("Error getting Package list")
status = 500
}
logRequest(t, r, status)
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(list)
}
func GetPackagebyID(w http.ResponseWriter, r *http.Request) {
var pkg db.Package
var err error
t := time.Now()
status := 200
params := mux.Vars(r)
db_conn := db.GetDatabaseConnection()
defer db_conn.Close()
id, err := strconv.ParseInt(params["id"], 10, 64)
if err != nil {
log.Println("Error converting ID", err)
status = 500
}
pkg, err = db.GetPackagebyID(db_conn, int64(id))
if err != nil {
log.Println("Error getting Package")
status = 500
}
logRequest(t, r, status)
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(pkg)
}

View File

@@ -50,3 +50,28 @@ func GetServersbyID(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(server)
}
func GetServersbyOS(w http.ResponseWriter, r *http.Request) {
var servers []db.Server
var err error
t := time.Now()
status := 200
params := mux.Vars(r)
os_id, err := strconv.ParseInt(params["os_id"], 10, 32)
if err != nil {
log.Println("Error converting ID", err)
status = 500
}
db_conn := db.GetDatabaseConnection()
defer db_conn.Close()
servers, err = db.GetServersbyOS(db_conn, int64(os_id))
if err != nil {
log.Println("Error getting servers by OS", err)
status = 500
}
logRequest(t, r, status)
w.Header().Set("Content-Type", "application/json")
json.NewEncoder(w).Encode(servers)
}

View File

@@ -19,6 +19,12 @@ func HealthHandler(w http.ResponseWriter, _ *http.Request) {
_, _ = io.WriteString(w, "OK")
}
func NotFound(w http.ResponseWriter, r *http.Request) {
t := time.Now()
logRequest(t, r, 404)
w.WriteHeader(http.StatusNotFound)
}
func logRequest(t time.Time, r *http.Request, s int) {
log.Printf("%s - - %s \"%s %s %s\" %d 0 \"-\" \"%s\" %d\n",
r.Host,