chatbot/Chatbot.Api/Controllers/SystemController.cs

51 lines
1.4 KiB
C#

using Chatbot.Api.Application.Commands;
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<IActionResult> GetBots([FromRoute] GetBots.Query query)
{
var result = await _mediator.Send(query);
return Ok(result);
}
[HttpGet("initialize-session/{botName}/{externalId}/{clientApplication}/{userKey}")]
public async Task<IActionResult> GetSession([FromRoute] GetSession.Query query)
{
var result = await _mediator.Send(query);
return Ok(result);
}
[HttpPost("test-logger")]
public async Task<IActionResult> CloseChat([FromBody] TestLogger closeChat)
{
var result = await _mediator.Send(closeChat);
return Ok(result);
}
}
}