using NetinaShop.Domain.Dtos.ResponseDtos;

namespace NetinaShop.AdminPanel.PWA.Services.RestServices;

public interface IProductRestApi
{
    [Put("/{productId}")]
    Task<bool> ChangeDisplayedAsync(Guid productId, [Query]bool beDisplayed, [Header("Authorization")]string authorization);

    [Get("/{productId}")]
    Task<GetProductResponseDto> ReadOne(Guid productId);

    [Get("")]
    Task<GetProductsResponseDto> ReadAll([Query] string productName);

    [Get("")]
    Task<GetProductsResponseDto> ReadAll([Query] int page, [Query] string? productName, [Query] Guid? categoryId);

    [Get("")]
    Task<GetProductsResponseDto> ReadAll([Query] string productName, [Query] Guid categoryId);
}