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; }
}
}