using FluentValidation; namespace zero.Configuration; public class IntegrationOptions : List { public void Add(IntegrationType integration) where T : Integration, new() { Add(IntegrationType.Convert(integration)); } public void Add(string alias, string name, string description, List tags = default, string imagePath = null, IValidator validator = null) where T : Integration, new() { Add(new IntegrationType(typeof(T)) { Alias = alias, Name = name, Description = description, ImagePath = imagePath, Tags = tags, Validator = validator }); } public void Add(Type type, string alias, string name, string description, List tags = default, string imagePath = null, IValidator validator = null) { Add(new IntegrationType(type) { Alias = alias, Name = name, Description = description, ImagePath = imagePath, Tags = tags, Validator = validator }); } }