using CMSMicroservice.Domain.Enums;

namespace CMSMicroservice.Application.InventoryItemCQ.Queries.GetAllInventoryItems;

/// <summary>
/// Query برای جستجوی آیتم های موجودی
/// </summary>
public record GetAllInventoryItemsQuery : IRequest<GetAllInventoryItemsResponseDto>
{
    public long? WarehouseId { get; init; }
    public long? ProductId { get; init; }
    public long? DiscountProductId { get; init; }
    public ProductType? ProductType { get; init; }
    public string? SearchTerm { get; init; }
    public bool? IsActive { get; init; }
    public bool? IsLowStock { get; init; }
    public bool? IsOutOfStock { get; init; }
    public int Skip { get; init; } = 0;
    public int Take { get; init; } = 50;
}
