using MoonCore.Attributes; using MoonCore.Helpers; using MoonlightServers.Shared.Http.Responses.Admin.Nodes.Statistics; using MoonlightServers.Shared.Http.Responses.Admin.Nodes.Sys; namespace MoonlightServers.Frontend.Services; [Scoped] public class NodeService { private readonly HttpApiClient HttpApiClient; public NodeService(HttpApiClient httpApiClient) { HttpApiClient = httpApiClient; } public async Task GetSystemStatusAsync(int nodeId) { return await HttpApiClient.GetJson($"api/admin/servers/nodes/{nodeId}/system/status"); } public async Task GetStatisticsAsync(int nodeId) { return await HttpApiClient.GetJson( $"api/admin/servers/nodes/{nodeId}/statistics" ); } public async Task GetDockerStatisticsAsync(int nodeId) { return await HttpApiClient.GetJson( $"api/admin/servers/nodes/{nodeId}/statistics/docker" ); } }