namespace CMSMicroservice.Application.ClubMembershipCQ.Queries.GetClubMembershipHistory;

/// <summary>
/// Query برای دریافت تاریخچه تغییرات عضویت باشگاه
/// </summary>
public record GetClubMembershipHistoryQuery : IRequest<GetClubMembershipHistoryResponseDto>
{
    /// <summary>
    /// شناسه عضویت (اختیاری)
    /// </summary>
    public long? MembershipId { get; init; }

    /// <summary>
    /// شناسه کاربر (اختیاری)
    /// </summary>
    public long? UserId { get; init; }

    /// <summary>
    /// موقعیت صفحه‌بندی
    /// </summary>
    public PaginationState? PaginationState { get; init; }

    /// <summary>
    /// مرتب‌سازی بر اساس
    /// </summary>
    public string? SortBy { get; init; }
}
