using Microsoft.AspNetCore.Mvc; using Moonlight.Api.Services; using Moonlight.Shared.Http.Responses.Admin; namespace Moonlight.Api.Http.Controllers.Admin; [ApiController] [Route("api/admin/system")] public class SystemController : Controller { private readonly ApplicationService ApplicationService; public SystemController(ApplicationService applicationService) { ApplicationService = applicationService; } [HttpGet("info")] public async Task> GetInfoAsync() { var cpuUsage = await ApplicationService.GetCpuUsageAsync(); var memoryUsage = await ApplicationService.GetMemoryUsageAsync(); return new SystemInfoResponse( cpuUsage, memoryUsage, ApplicationService.OperatingSystem, DateTimeOffset.UtcNow - ApplicationService.StartedAt, ApplicationService.VersionName, ApplicationService.IsUpToDate ); } }