using Microsoft.Extensions.Options; using System; namespace zero.Core.Integrations { /// /// An integration is an application part which has a public configuration per app. /// It's up to the user to provide functionality. /// public interface IIntegration { /// /// The alias /// string Alias { get; } /// /// The name of the integration (either a string or a translation key with @ prefix) /// string Name { get; } /// /// Optional description /// string Description { get; } /// /// Image of the integration /// string ImagePath { get; } /// /// HEX color (#aabbcc or #abc) /// string Color { get; } /// /// Type of the settings /// Type SettingsType { get; } /// /// Allow multiple instances of this configuration /// bool AllowMultiple { get; set; } /// /// Do never return null when it has not been configured yet but the default instance for a settings object /// bool IsAutoActivated { get; set; } } }