function toIsoString(value) { return value instanceof Date ? value.toISOString() : value; } export function toAdminSaleDto({ sale, saleItem, inventoryItem, saleItems = [saleItem], inventoryItems = [inventoryItem], netProceedsMinor, profitMinor, productName, }) { return { id: sale.id, sellerId: sale.sellerId, status: sale.status, saleDate: sale.saleDate, saleLocation: sale.saleLocation ?? null, soldPriceMinor: sale.soldPriceMinor, currency: sale.currency, platformFeesMinor: sale.platformFeesMinor, paymentProcessingFeesMinor: sale.paymentProcessingFeesMinor, shippingCostMinor: sale.shippingCostMinor, taxesMinor: sale.taxesMinor, otherFeesMinor: sale.otherFeesMinor, buyerName: sale.buyerName ?? null, buyerContact: sale.buyerContact ?? null, notes: sale.notes ?? null, voidReason: sale.voidReason ?? null, voidedAt: toIsoString(sale.voidedAt) ?? null, productName: productName ?? null, netProceedsMinor: netProceedsMinor ?? null, profitMinor: profitMinor ?? null, saleItem: { id: saleItem.id, inventoryItemId: saleItem.inventoryItemId, soldPriceMinor: saleItem.soldPriceMinor, costBasisMinor: saleItem.costBasisMinor, }, saleItems: saleItems.map((item) => ({ id: item.id, inventoryItemId: item.inventoryItemId, soldPriceMinor: item.soldPriceMinor, costBasisMinor: item.costBasisMinor, })), inventoryItem: { id: inventoryItem.id, status: inventoryItem.status, }, inventoryItems: inventoryItems.map((item) => ({ id: item.id, status: item.status, })), createdAt: toIsoString(sale.createdAt), updatedAt: toIsoString(sale.updatedAt), }; }