32 lines
836 B
C#
32 lines
836 B
C#
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using Moonlight.Api.Mappers;
|
|
using Moonlight.Api.Services;
|
|
using Moonlight.Shared;
|
|
using Moonlight.Shared.Http.Responses.Admin;
|
|
|
|
namespace Moonlight.Api.Http.Controllers.Admin;
|
|
|
|
[ApiController]
|
|
[Authorize(Policy = Permissions.System.Diagnose)]
|
|
[Route("api/admin/system/diagnose")]
|
|
public class DiagnoseController : Controller
|
|
{
|
|
private readonly DiagnoseService DiagnoseService;
|
|
|
|
public DiagnoseController(DiagnoseService diagnoseService)
|
|
{
|
|
DiagnoseService = diagnoseService;
|
|
}
|
|
|
|
[HttpGet]
|
|
public async Task<ActionResult<DiagnoseResultDto[]>> GetAsync()
|
|
{
|
|
var results = await DiagnoseService.DiagnoseAsync();
|
|
|
|
return results
|
|
.OrderBy(x => x.Level)
|
|
.ToDto()
|
|
.ToArray();
|
|
}
|
|
} |