From b691b8f06febdbfd9b317df1da4de9c930e8a44d Mon Sep 17 00:00:00 2001 From: antony1060 Date: Fri, 2 Apr 2021 21:32:30 +0200 Subject: [PATCH 1/2] Fixed /api/servers --- router/router_system.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/router/router_system.go b/router/router_system.go index b3eb1ce..f85dc38 100644 --- a/router/router_system.go +++ b/router/router_system.go @@ -28,7 +28,15 @@ func getSystemInformation(c *gin.Context) { // Returns all of the servers that are registered and configured correctly on // this wings instance. func getAllServers(c *gin.Context) { - c.JSON(http.StatusOK, middleware.ExtractManager(c).All()) + servers := middleware.ExtractManager(c).All() + var procData []serverProcData + for _, v := range servers { + procData = append(procData, serverProcData{ + ResourceUsage: v.Proc(), + Suspended: v.IsSuspended(), + }) + } + c.JSON(http.StatusOK, procData) } // Creates a new server on the wings daemon and begins the installation process From b448310a33094bf1ef6598306e99105b6d8f0ecc Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Sat, 3 Apr 2021 11:08:26 -0700 Subject: [PATCH 2/2] Correctly return servers installed on wings and their resource usage --- router/router_system.go | 22 ++++++++++++++-------- server/configuration.go | 3 +-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/router/router_system.go b/router/router_system.go index f85dc38..58ff70c 100644 --- a/router/router_system.go +++ b/router/router_system.go @@ -10,6 +10,7 @@ import ( "github.com/pterodactyl/wings/config" "github.com/pterodactyl/wings/installer" "github.com/pterodactyl/wings/router/middleware" + "github.com/pterodactyl/wings/server" "github.com/pterodactyl/wings/system" ) @@ -28,15 +29,20 @@ func getSystemInformation(c *gin.Context) { // Returns all of the servers that are registered and configured correctly on // this wings instance. func getAllServers(c *gin.Context) { - servers := middleware.ExtractManager(c).All() - var procData []serverProcData - for _, v := range servers { - procData = append(procData, serverProcData{ - ResourceUsage: v.Proc(), - Suspended: v.IsSuspended(), - }) + type serverItem struct { + *server.Configuration + Resources server.ResourceUsage `json:"resources"` } - c.JSON(http.StatusOK, procData) + + servers := middleware.ExtractManager(c).All() + out := make([]serverItem, len(servers), len(servers)) + for i, v := range servers { + out[i] = serverItem{ + Configuration: v.Config(), + Resources: v.Proc(), + } + } + c.JSON(http.StatusOK, out) } // Creates a new server on the wings daemon and begins the installation process diff --git a/server/configuration.go b/server/configuration.go index b7f16b7..100b4ab 100644 --- a/server/configuration.go +++ b/server/configuration.go @@ -8,7 +8,7 @@ import ( type EggConfiguration struct { // The internal UUID of the Egg on the Panel. - ID string + ID string `json:"id"` // Maintains a list of files that are blacklisted for opening/editing/downloading // or basically any type of access on the server by any user. This is NOT the same @@ -43,7 +43,6 @@ type Configuration struct { Build environment.Limits `json:"build"` CrashDetectionEnabled bool `default:"true" json:"enabled" yaml:"enabled"` Mounts []Mount `json:"mounts"` - Resources ResourceUsage `json:"resources"` Egg EggConfiguration `json:"egg,omitempty"` Container struct {