Refactored project to module structure
This commit is contained in:
35
Moonlight.Api/Admin/Sys/SystemController.cs
Normal file
35
Moonlight.Api/Admin/Sys/SystemController.cs
Normal file
@@ -0,0 +1,35 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moonlight.Shared;
|
||||
using Moonlight.Shared.Admin.Sys;
|
||||
|
||||
namespace Moonlight.Api.Admin.Sys;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/admin/system")]
|
||||
public class SystemController : Controller
|
||||
{
|
||||
private readonly ApplicationService ApplicationService;
|
||||
|
||||
public SystemController(ApplicationService applicationService)
|
||||
{
|
||||
ApplicationService = applicationService;
|
||||
}
|
||||
|
||||
[HttpGet("info")]
|
||||
[Authorize(Policy = Permissions.System.Info)]
|
||||
public async Task<ActionResult<SystemInfoDto>> GetInfoAsync()
|
||||
{
|
||||
var cpuUsage = await ApplicationService.GetCpuUsageAsync();
|
||||
var memoryUsage = await ApplicationService.GetMemoryUsageAsync();
|
||||
|
||||
return new SystemInfoDto(
|
||||
cpuUsage,
|
||||
memoryUsage,
|
||||
ApplicationService.OperatingSystem,
|
||||
DateTimeOffset.UtcNow - ApplicationService.StartedAt,
|
||||
ApplicationService.VersionName,
|
||||
ApplicationService.IsUpToDate
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user