using System;

namespace InABox.Core
{

    public class LicenseRequest
    {
        public Guid CustomerID { get; set; }
        
        public String[] Addresses { get; set; } = Array.Empty<String>();
        
        public bool IsDynamic { get; set; }
    }
    
    public class LicenseData : BaseObject
    {
        public DateTime LastRenewal { get; set; }

        /// <summary>
        /// The date when this license can next be renewed.
        /// </summary>
        public DateTime RenewalAvailable { get; set; }

        public DateTime Expiry { get; set; }

        public Guid CustomerID { get; set; }

        public Guid[] UserTrackingItems { get; set; } = Array.Empty<Guid>();
        
        public String[] Addresses { get; set; } = Array.Empty<String>();
        
        public bool IsDynamic { get; set; }
    }

    public class License : Entity, IPersistent, IRemotable, ILicense<CoreLicense>
    {
        [NullEditor]
        public string Data { get; set; } = "";
    }
}