BotSharp/src/Plugins/BotSharp.Plugin.MongoStorage/Models/AgentUtilityMongoElement.cs

63 lines
1.6 KiB
C#
Raw Normal View History

2024-11-20 23:10:38 +00:00
using BotSharp.Abstraction.Agents.Models;
namespace BotSharp.Plugin.MongoStorage.Models;
public class AgentUtilityMongoElement
{
public string Name { get; set; }
2024-11-21 05:46:09 +00:00
public bool Disabled { get; set; }
2024-11-20 23:10:38 +00:00
public List<UtilityFunctionMongoElement> Functions { get; set; } = [];
public List<UtilityTemplateMongoElement> Templates { get; set; } = [];
public static AgentUtilityMongoElement ToMongoElement(AgentUtility utility)
{
return new AgentUtilityMongoElement
{
Name = utility.Name,
2024-11-21 05:46:09 +00:00
Disabled = utility.Disabled,
2024-11-20 23:10:38 +00:00
Functions = utility.Functions?.Select(x => new UtilityFunctionMongoElement(x.Name))?.ToList() ?? [],
Templates = utility.Templates?.Select(x => new UtilityTemplateMongoElement(x.Name))?.ToList() ?? []
};
}
public static AgentUtility ToDomainElement(AgentUtilityMongoElement utility)
{
return new AgentUtility
{
Name = utility.Name,
2024-11-21 05:46:09 +00:00
Disabled = utility.Disabled,
2024-11-20 23:10:38 +00:00
Functions = utility.Functions?.Select(x => new UtilityFunction(x.Name))?.ToList() ?? [],
Templates = utility.Templates?.Select(x => new UtilityTemplate(x.Name))?.ToList() ?? []
};
}
}
public class UtilityFunctionMongoElement
{
public string Name { get; set; }
public UtilityFunctionMongoElement()
{
}
public UtilityFunctionMongoElement(string name)
{
Name = name;
}
}
public class UtilityTemplateMongoElement
{
public string Name { get; set; }
public UtilityTemplateMongoElement()
{
}
public UtilityTemplateMongoElement(string name)
{
Name = name;
}
}