using FluentValidation; using System; using System.Collections.Generic; using zero.Core.Integrations; namespace zero.Core.Options { public class IntegrationOptions : ZeroBackofficeCollection, IZeroCollectionOptions { public void Add(IntegrationType integration) where T : Integration, new() { Items.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() { Items.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) { Items.Add(new IntegrationType(type) { Alias = alias, Name = name, Description = description, ImagePath = imagePath, Tags = tags, Validator = validator }); } } }