namespace audit_logs.Models.DTO;

/// <summary>
/// DTO que encapsula los parámetros de búsqueda por texto para los registros de auditoría, incluyendo detalles de paginación.
/// </summary>
public class AuditLogTextOrDateSearchDTO
{
    /// <summary>
    /// Gets or sets the page number for pagination.
    /// </summary>
    /// <value>
    /// The number of the page to retrieve. Defaults to 1.
    /// </value>
    public int pageNumber { get; set; } = 1;

    /// <summary>
    /// Gets or sets the size of the page for pagination.
    /// </summary>
    /// <value>
    /// The number of records per page. Defaults to 10.
    /// </value>
    public int pageSize { get; set; } = 10;

    /// <summary>
    /// Optional text to search for in any text field in the audit logs.
    /// </summary>
    public string? searchText { get; set; }
    /// <summary>
    /// Gets or sets the date and time at which the audit action is performed..
    /// </summary>
    /// <value>
    /// The specific timestamp of the audit action. Optional.
    /// </value>
    public DateTime? actionTime { get; set; } = null;

    /// <summary>
    /// Gets or sets the start date for filtering audit logs by date range.
    /// </summary>
    /// <value>
    /// The earliest date to include in the results. Optional.
    /// </value>
    public DateTime? startDate { get; set; } = null;

    /// <summary>
    /// Gets or sets the end date for filtering audit logs by date range.
    /// </summary>
    /// <value>
    /// The latest date to include in the results. Optional.
    /// </value>
    public DateTime? endDate { get; set; } = null;

   
}