38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
|
|
using BotSharp.Abstraction.ApiAdapters;
|
||
|
|
using BotSharp.OpenAPI.ViewModels.Agents;
|
||
|
|
|
||
|
|
namespace BotSharp.OpenAPI.Controllers;
|
||
|
|
|
||
|
|
[Authorize]
|
||
|
|
[ApiController]
|
||
|
|
public class AgentController : ControllerBase, IApiAdapter
|
||
|
|
{
|
||
|
|
private readonly IAgentService _agentService;
|
||
|
|
public AgentController(IAgentService agentService)
|
||
|
|
{
|
||
|
|
_agentService = agentService;
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpPost("/agent")]
|
||
|
|
public async Task<AgentViewModel> CreateAgent(AgentCreationModel agent)
|
||
|
|
{
|
||
|
|
var createdAgent = await _agentService.CreateAgent(agent.ToAgent());
|
||
|
|
return AgentViewModel.FromAgent(createdAgent);
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpPut("/agent/{agentId}")]
|
||
|
|
public async Task UpdateAgent([FromRoute] string agentId,
|
||
|
|
[FromBody] AgentUpdateModel agent)
|
||
|
|
{
|
||
|
|
var model = agent.ToAgent();
|
||
|
|
model.Id = agentId;
|
||
|
|
await _agentService.UpdateAgent(model);
|
||
|
|
}
|
||
|
|
|
||
|
|
[HttpGet("/agents")]
|
||
|
|
public async Task<List<AgentViewModel>> GetAgents()
|
||
|
|
{
|
||
|
|
var agents = await _agentService.GetAgents();
|
||
|
|
return agents.Select(x => AgentViewModel.FromAgent(x)).ToList();
|
||
|
|
}
|
||
|
|
}
|