Refactored project to module structure
This commit is contained in:
44
Moonlight.Api/Admin/Sys/Versions/VersionsController.cs
Normal file
44
Moonlight.Api/Admin/Sys/Versions/VersionsController.cs
Normal file
@@ -0,0 +1,44 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Moonlight.Shared;
|
||||
using Moonlight.Shared.Admin.Sys.Versions;
|
||||
|
||||
namespace Moonlight.Api.Admin.Sys.Versions;
|
||||
|
||||
[ApiController]
|
||||
[Route("api/admin/versions")]
|
||||
[Authorize(Policy = Permissions.System.Versions)]
|
||||
public class VersionsController : Controller
|
||||
{
|
||||
private readonly VersionService VersionService;
|
||||
|
||||
public VersionsController(VersionService versionService)
|
||||
{
|
||||
VersionService = versionService;
|
||||
}
|
||||
|
||||
[HttpGet]
|
||||
public async Task<ActionResult<VersionDto[]>> GetAsync()
|
||||
{
|
||||
var versions = await VersionService.GetVersionsAsync();
|
||||
return VersionMapper.ToDtos(versions).ToArray();
|
||||
}
|
||||
|
||||
[HttpGet("instance")]
|
||||
public async Task<ActionResult<VersionDto>> GetInstanceAsync()
|
||||
{
|
||||
var version = await VersionService.GetInstanceVersionAsync();
|
||||
return VersionMapper.ToDto(version);
|
||||
}
|
||||
|
||||
[HttpGet("latest")]
|
||||
public async Task<ActionResult<VersionDto>> GetLatestAsync()
|
||||
{
|
||||
var version = await VersionService.GetLatestVersionAsync();
|
||||
|
||||
if (version == null)
|
||||
return Problem("Unable to retrieve latest version", statusCode: 404);
|
||||
|
||||
return VersionMapper.ToDto(version);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user