Started adding node-daemon communication. Added status endpoint

This commit is contained in:
=
2024-09-06 13:53:41 +00:00
parent 66e0fa2283
commit 6d4e1cdaaf
11 changed files with 144 additions and 24 deletions

View File

@@ -0,0 +1,47 @@
using Microsoft.AspNetCore.Mvc;
using MoonlightServers.Daemon.App.Helpers;
using MoonlightServers.DaemonShared.Http.Resources.Sys;
namespace MoonlightServers.Daemon.App.Http.Controllers.Sys;
[ApiController]
[Route("system/info")]
public class InfoController : Controller
{
private readonly HostHelper HostHelper;
public InfoController(HostHelper hostHelper)
{
HostHelper = hostHelper;
}
[HttpGet]
public async Task<ActionResult<SystemInfoResponse>> Get()
{
var memoryDetails = await HostHelper.GetMemoryDetails();
var diskDetails = await HostHelper.GetDiskUsage();
var response = new SystemInfoResponse()
{
CpuModel = await HostHelper.GetCpuModel(),
CpuUsage = await HostHelper.GetCpuUsage(),
Uptime = await HostHelper.GetUptime(),
MemoryTotal = memoryDetails[0],
MemoryFree = memoryDetails[1],
MemoryAvailable = memoryDetails[2],
MemoryCached = memoryDetails[3],
SwapTotal = memoryDetails[4],
SwapFree = memoryDetails[5],
DiskTotal = diskDetails[0],
DiskFree = diskDetails[1],
DiskTotalInodes = diskDetails[2],
DiskFreeInodes = diskDetails[3]
};
return Ok(response);
}
}