Adding support for packages
This commit is contained in:
56
Http/package.go
Normal file
56
Http/package.go
Normal 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)
|
||||
}
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user