namespace ZB.MOM.WW.LmxProxy.Host.Security
{
    /// <summary>An API key with description, role, and enabled state.</summary>
    public class ApiKey
    {
        public string Key { get; set; } = string.Empty;
        public string Description { get; set; } = string.Empty;
        public ApiKeyRole Role { get; set; } = ApiKeyRole.ReadOnly;
        public bool Enabled { get; set; } = true;
    }

    /// <summary>API key role for authorization.</summary>
    public enum ApiKeyRole
    {
        /// <summary>Read and subscribe only.</summary>
        ReadOnly,
        /// <summary>Full access including writes.</summary>
        ReadWrite
    }
}
