using LittleShop.Client.Models;

namespace LittleShop.Client.Services;

public interface IOrderService
{
    Task<ApiResponse<Order>> CreateOrderAsync(CreateOrderRequest request);
    Task<ApiResponse<List<Order>>> GetOrdersByIdentityAsync(string identityReference);
    Task<ApiResponse<List<Order>>> GetOrdersByCustomerIdAsync(Guid customerId);
    Task<ApiResponse<Order>> GetOrderByIdAsync(Guid id);
    Task<ApiResponse<Order>> GetOrderByCustomerIdAsync(Guid customerId, Guid orderId);
    Task<ApiResponse<CryptoPayment>> CreatePaymentAsync(Guid orderId, int currency);
    Task<ApiResponse<List<CryptoPayment>>> GetOrderPaymentsAsync(Guid orderId);
}