using Distribution.Models; namespace Distribution.Features.Sale; public record SaleItemRequest(Guid ItemId, int Quantity, decimal? UnitPrice = null); public record CreateSaleRequest( Guid StoreId, DateTime SaleDate, decimal TotalAmount, bool FulfillImmediately, Guid? RideId, List Items, // TEMPORARY: auth middleware doesn't attach a resolvable user yet (see testbug.md #28), so the // caller supplies the acting user explicitly. Remove once currentUser.UserId is reliable again. Guid? CreatedByUserId = null); public record SaleItemResponse(Guid ItemId, int Quantity, int QuantityFulfilled, decimal UnitPrice); public record SaleResponse( Guid Id, DateTime SaleDate, Guid StoreId, Guid CreatedByUserId, Guid? RideId, decimal TotalAmount, SaleStatus Status, PaymentStatus PaymentStatus, bool FulfillImmediately, DateTime? CompletedAt, Guid OrderId, OrderStatus OrderStatus, DateTime? OrderFulfilledAt, List Items, bool IsActive, DateTime CreatedAt);