#nullable enable
using Baya.Application.Models.Common;
using Baya.Application.Models.Messaging;
using Mediator;

namespace Baya.Application.Features.Messaging.Queries.ListTicketsForAdmin;

/// <summary>The admin global ticket queue, paginated, filter by status/category, search by reference code, optional
/// booking/refund link, newest first.</summary>
public record ListTicketsForAdminQuery(
    string? Status = null,
    string? Category = null,
    string? ReferenceCode = null,
    long? BookingId = null,
    long? RefundId = null,
    int Page = 1,
    int PageSize = 50) : IRequest<OperationResult<PagedResult<TicketSummaryDto>>>;
