using Microsoft.Extensions.Logging;

namespace DigitalData.Core.DTO
{
    /// <summary>
    /// Represents a notice for logging purposes, containing a flag, log level, and associated messages.
    /// </summary>
    public class Notice
    {
        /// <summary>
        /// Gets or sets an optional flag associated with the notice.
        /// </summary>
        public Enum? Flag { get; init; } = null;

        /// <summary>
        /// Gets or sets the log level for the notice.
        /// </summary>
        public LogLevel Level { get; init; } = LogLevel.None;

        /// <summary>
        /// Gets a list of messages associated with the notice.
        /// </summary>
        public List<string> Messages { get; init; } = new();
    }
}