38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
using Asp.Versioning;
|
|
using Baya.Application.Features.Admin.Commands.AddAdminCommand;
|
|
using Baya.Application.Features.Admin.Queries.GetToken;
|
|
using Baya.Application.Models.Jwt;
|
|
using Baya.WebFramework.Attributes;
|
|
using Baya.WebFramework.BaseController;
|
|
using Mediator;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace Baya.Web.Api.Controllers.V1.Admin
|
|
{
|
|
[ApiVersion("1")]
|
|
[ApiController]
|
|
[Route("api/v{version:apiVersion}/AdminManager")]
|
|
public class AdminManagerController(ISender sender) : BaseController
|
|
{
|
|
[HttpPost("Login")]
|
|
[ProducesOkApiResponseType<AccessToken>]
|
|
public async Task<IActionResult> AdminLogin(AdminGetTokenQuery model)
|
|
{
|
|
var query = await sender.Send(model);
|
|
|
|
return base.OperationResult(query);
|
|
}
|
|
|
|
[Authorize(Roles = "admin")]
|
|
[HttpPost("NewAdmin")]
|
|
[ProducesOkApiResponseType]
|
|
public async Task<IActionResult> AddNewAdmin(AddAdminCommand model)
|
|
{
|
|
var commandResult = await sender.Send(model);
|
|
|
|
return base.OperationResult(commandResult);
|
|
}
|
|
}
|
|
}
|