using LittleShop.Client.Models;

namespace LittleShop.Client.Services;

public interface ICatalogService
{
    Task<ApiResponse<List<Category>>> GetCategoriesAsync();
    Task<ApiResponse<Category>> GetCategoryByIdAsync(Guid id);
    Task<ApiResponse<PagedResult<Product>>> GetProductsAsync(
        int pageNumber = 1, 
        int pageSize = 20, 
        Guid? categoryId = null,
        string? searchTerm = null,
        decimal? minPrice = null,
        decimal? maxPrice = null);
    Task<ApiResponse<Product>> GetProductByIdAsync(Guid id);
}