2025-01-16 21:57:50 +00:00
|
|
|
using BotSharp.Abstraction.Agents.Models;
|
2025-01-24 21:50:28 +00:00
|
|
|
using BotSharp.Abstraction.Rules;
|
2025-01-16 21:57:50 +00:00
|
|
|
using BotSharp.Core.Rules.Triggers;
|
|
|
|
|
|
|
|
|
|
namespace BotSharp.OpenAPI.Controllers;
|
|
|
|
|
|
|
|
|
|
[Authorize]
|
|
|
|
|
[ApiController]
|
|
|
|
|
public class RulesController
|
|
|
|
|
{
|
|
|
|
|
private readonly IServiceProvider _services;
|
|
|
|
|
|
|
|
|
|
public RulesController(
|
|
|
|
|
IServiceProvider services)
|
|
|
|
|
{
|
|
|
|
|
_services = services;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet("/rule/triggers")]
|
|
|
|
|
public IEnumerable<AgentRule> GetRuleTriggers()
|
|
|
|
|
{
|
|
|
|
|
var triggers = _services.GetServices<IRuleTrigger>();
|
|
|
|
|
return triggers.Select(x => new AgentRule
|
|
|
|
|
{
|
|
|
|
|
TriggerName = x.GetType().Name
|
|
|
|
|
}).OrderBy(x => x.TriggerName).ToList();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet("/rule/formalization")]
|
|
|
|
|
public async Task<string> GetFormalizedRuleDefinition([FromBody] AgentRule rule)
|
|
|
|
|
{
|
|
|
|
|
return "{}";
|
|
|
|
|
}
|
|
|
|
|
}
|