using Chatbot.Api.Application.Queries; using MediatR; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System.Threading.Tasks; namespace Chatbot.Api.Controllers { [Authorize] [ApiController] [Route("system")] public class SystemController : ControllerBase { private readonly IMediator _mediator; public SystemController(IMediator mediator) { _mediator = mediator; } [AllowAnonymous] [HttpGet("ping")] public IActionResult Ping() { return Ok("Chatbot api ping success."); } [HttpGet("bots")] public async Task GetBots([FromRoute] GetBots.Query query) { var result = await _mediator.Send(query); return Ok(result); } [HttpGet("initialize-session")] public async Task GetSession([FromRoute] GetSession.Query query) { var result = await _mediator.Send(query); return Ok(result); } [HttpGet("initialize-chat")] public async Task GetChat([FromRoute] GetChat.Query query) { var result = await _mediator.Send(query); return Ok(result); } } }