using LittleShop.DTOs; namespace LittleShop.Services; public interface IProductService { Task> GetAllProductsAsync(); Task> GetProductsByCategoryAsync(Guid categoryId); Task GetProductByIdAsync(Guid id); Task CreateProductAsync(CreateProductDto createProductDto); Task UpdateProductAsync(Guid id, UpdateProductDto updateProductDto); Task DeleteProductAsync(Guid id); Task AddProductPhotoAsync(Guid productId, IFormFile file, string? altText = null); Task AddProductPhotoAsync(CreateProductPhotoDto photoDto); Task RemoveProductPhotoAsync(Guid productId, Guid photoId); Task> SearchProductsAsync(string searchTerm); // Product Variations Task CreateProductVariationAsync(CreateProductVariationDto createVariationDto); Task UpdateProductVariationAsync(Guid id, UpdateProductVariationDto updateVariationDto); Task DeleteProductVariationAsync(Guid id); Task> GetProductVariationsAsync(Guid productId); Task GetProductVariationByIdAsync(Guid id); }