using MediatR; using Microsoft.AspNetCore.Mvc; namespace Modules.Library.WebApi.Controllers; [ApiController] [ApiExplorerSettings(GroupName = "LanguageV1")] [Route("Dictionaries/Language")] //[Route("[controller]")] public class LanguageController : ControllerBase { private readonly IMediator _mediator; private readonly ILogger _logger; public LanguageController(IMediator mediator, ILogger logger) { _mediator = mediator; _logger = logger; } [HttpGet("List")] public async Task> List() => await _mediator.Send(new Application.Queries.Dictionaries.Language.LanguageListQuery()); [HttpPost("Create")] public async Task CreateLanguage([FromQuery] string codeIso2, [FromQuery] string name) => await _mediator.Send(new Application.Commands.Dictionaries.Language.CreateLanguageCommand { Code = codeIso2, Name = name, }); [HttpPost("Edit")] public async Task EditLanguage([FromQuery] Guid id, [FromQuery] string? codeIso2, [FromQuery]string? name) => await _mediator.Send(new Application.Commands.Dictionaries.Language.SetLanguageNameCommand { Id = id, Code = codeIso2, Name = name, }); [HttpPost("Delete")] public async Task DeleteLanguage([FromQuery] Guid id) => await _mediator.Send(new Application.Commands.Dictionaries.Language.DeleteLanguageCommand { Id = id, }); }