using MediatR;

namespace MembershipService.API.Application.Queries;

/// <summary>
/// EN: Query to get all stamp cards for a shop (admin view).
/// VI: Query de lay tat ca stamp cards cho shop (admin view).
/// </summary>
public record GetStampCardsQuery(
    Guid ShopId,
    int PageIndex = 0,
    int PageSize = 20
) : IRequest<GetStampCardsResult>;

/// <summary>
/// EN: Paginated result of stamp cards.
/// VI: Ket qua phan trang cua stamp cards.
/// </summary>
public record GetStampCardsResult(
    IReadOnlyList<StampCardDto> Items,
    int TotalCount,
    int PageIndex,
    int PageSize
);
