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) dbConn := db.GetDatabaseConnection() defer dbConn.Close() id, err := strconv.ParseInt(params["id"], 10, 64) if err != nil { log.Println("Error converting ID", err) status = 500 } pkg, err = db.GetPackagebyID(dbConn, 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) }