BotSharp/BotSharp.Platform.OwnThink/Controllers/AgentController.cs

57 lines
1.8 KiB
C#
Raw Normal View History

2019-03-17 04:50:33 +00:00
using BotSharp.Platform.Models.Agents;
using BotSharp.Platform.OwnThink.Models;
using BotSharp.Platform.OwnThink.ViewModels;
using Microsoft.AspNetCore.Mvc;
using System;
2019-03-01 04:33:21 +00:00
using System.Collections.Generic;
using System.Text;
2019-03-17 04:50:33 +00:00
using System.Threading.Tasks;
2019-03-01 04:33:21 +00:00
2019-03-16 16:23:02 +00:00
namespace BotSharp.Platform.OwnThink.Controllers
2019-03-01 04:33:21 +00:00
{
2019-03-17 04:50:33 +00:00
[Route("v1/[controller]")]
public class AgentController : ControllerBase
2019-03-01 04:33:21 +00:00
{
2019-03-17 04:50:33 +00:00
private OwnThinkAi<AgentModel> builder;
/// <summary>
/// Initialize dialog controller and get a platform instance
/// </summary>
/// <param name="platform"></param>
public AgentController(OwnThinkAi<AgentModel> platform)
{
builder = platform;
}
/// <summary>
/// Create agent
/// </summary>
/// <param name="requestViewModel"></param>
/// <returns></returns>
[HttpPost]
[ProducesResponseType(typeof(AgentCreationResponseViewModel), 200)]
public async Task<IActionResult> Create(AgentCreationRequestViewModel requestViewModel)
{
var agent = new AgentModel()
{
Id = Guid.NewGuid().ToString(),
Name = requestViewModel.Name,
Description = requestViewModel.Name,
AppId = requestViewModel.AppId,
ClientAccessToken = Guid.NewGuid().ToString("N"),
DeveloperAccessToken = Guid.NewGuid().ToString("N")
};
await builder.SaveAgent(agent);
return Ok(new AgentCreationResponseViewModel
{
AgentId = agent.Id,
AppId = agent.AppId,
Name = agent.Name,
ClientAccessToken = agent.ClientAccessToken
});
}
2019-03-01 04:33:21 +00:00
}
}