using LittleShop.DTOs;

namespace LittleShop.Services;

public interface IOrderService
{
    Task<IEnumerable<OrderDto>> GetAllOrdersAsync();
    Task<IEnumerable<OrderDto>> GetOrdersByIdentityAsync(string identityReference);
    Task<IEnumerable<OrderDto>> GetOrdersByCustomerIdAsync(Guid customerId);
    Task<OrderDto?> GetOrderByIdAsync(Guid id);
    Task<OrderDto> CreateOrderAsync(CreateOrderDto createOrderDto);
    Task<bool> UpdateOrderStatusAsync(Guid id, UpdateOrderStatusDto updateOrderStatusDto);
    Task<bool> CancelOrderAsync(Guid id, string identityReference);
}