using System.ComponentModel.DataAnnotations;

namespace Mirea.Api.Dto.Requests.Configuration;

/// <summary>
/// Represents a request to configure logging settings.
/// </summary>
public class LoggingRequest
{
    /// <summary>
    /// Gets or sets a value indicating whether logging to file is enabled.
    /// </summary>
    [Required]
    public bool EnableLogToFile { get; set; }

    /// <summary>
    /// Gets or sets the log file name.
    /// </summary>
    public string? LogFileName { get; set; }

    /// <summary>
    /// Gets or sets the log file path.
    /// </summary>
    public string? LogFilePath { get; set; }

    /// <summary>
    /// Gets or sets the API key for integrating with Seq, a log aggregation service.
    /// If provided, logs will be sent to a Seq server using this API key.
    /// </summary>
    public string? ApiKeySeq { get; set; }

    /// <summary>
    /// Gets or sets the server URL for the Seq logging service.
    /// This property specifies the Seq server endpoint to which logs will be sent.
    /// If <see cref="ApiKeySeq"/> is provided, logs will be sent to this server.
    /// </summary>
    public string? ApiServerSeq { get; set; }
}