diff --git a/src/Infrastructure/BotSharp.Abstraction/Agents/Models/Agent.cs b/src/Infrastructure/BotSharp.Abstraction/Agents/Models/Agent.cs index 624f8ca8..52c16ea7 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Agents/Models/Agent.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Agents/Models/Agent.cs @@ -63,6 +63,9 @@ public class Agent [JsonIgnore] public PluginDef Plugin { get; set; } + [JsonIgnore] + public bool Installed => Plugin.Enabled; + /// /// Allow to be routed /// diff --git a/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/AgentFilter.cs b/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/AgentFilter.cs index f685af64..1b4e232b 100644 --- a/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/AgentFilter.cs +++ b/src/Infrastructure/BotSharp.Abstraction/Repositories/Filters/AgentFilter.cs @@ -4,6 +4,7 @@ public class AgentFilter { public string? AgentName { get; set; } public bool? Disabled { get; set; } + public bool? Installed { get; set; } public bool? AllowRouting { get; set; } public bool? IsPublic { get; set; } public bool? IsRouter { get; set; } diff --git a/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetAgents.cs b/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetAgents.cs index 128afc24..aba053a0 100644 --- a/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetAgents.cs +++ b/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetAgents.cs @@ -21,7 +21,9 @@ public partial class AgentService agent.Plugin = GetPlugin(agent.Id); } - return await Task.FromResult(agents); + agents = agents.Where(x => x.Installed).ToList(); + + return agents; } #if !DEBUG diff --git a/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetPlugin.cs b/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetPlugin.cs index ea2029f8..747a5cf0 100644 --- a/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetPlugin.cs +++ b/src/Infrastructure/BotSharp.Core/Agents/Services/AgentService.GetPlugin.cs @@ -18,7 +18,8 @@ public partial class AgentService agentId }, Assembly = typeof(AgentService).Assembly.FullName.Split(',').First(), - Name = "BotSharp.Core" + Name = "BotSharp", + Enabled = true, }; } }