using System; using System.Collections.Generic; using zero.Core.Attributes; namespace zero.Core.Entities { /// /// An application is a website. zero can host multiple websites at once which share common assets /// public class Application : ZeroEntity, IApplication { /// public string Database { get; set; } /// public string FullName { get; set; } /// public string Email { get; set; } /// public string ImageId { get; set; } /// public string IconId { get; set; } /// public Uri[] Domains { get; set; } = new Uri[] { }; /// public List Features { get; set; } = new List(); } [Collection("Applications")] public interface IApplication : IZeroEntity, IZeroDbConventions { /// /// Raven database name for application data /// string Database { get; set; } /// /// Full company or product name /// string FullName { get; set; } /// /// Generic contact email. Can be used in various locations /// string Email { get; set; } /// /// Image of the application /// string ImageId { get; set; } /// /// Simple image of the application (can be used as favicon) /// string IconId { get; set; } /// /// All assigned domains for this application /// Uri[] Domains { get; set; } /// /// Features which are enabled for this application. /// Can be user-defined and affect both backoffice and frontend /// List Features { get; set; } } }