Files
pokemon-inventory/packages/contracts/dashboard.js
T
fragginwagon b8f089a5d9 feat: reconcile application vertical slices
Backfill the completed acquisitions, sales, dashboard, pricing, search, public detail, worker, migration, contracts, validation, tests, and implementation-status changes into one verified application slice.
2026-09-09 22:12:53 -04:00

31 lines
854 B
JavaScript

export function toAdminDashboardDto(dashboard) {
return {
counts: dashboard.counts,
financials: dashboard.financials,
recentSales: dashboard.recentSales.map(
({
sale,
saleItem,
inventoryItem,
productName,
netProceedsMinor,
profitMinor,
}) => ({
id: sale.id,
productName: productName ?? inventoryItem.id,
saleDate: sale.saleDate,
soldPriceMinor: sale.soldPriceMinor,
netProceedsMinor,
profitMinor,
inventoryItemId: saleItem.inventoryItemId,
}),
),
recentAcquisitions: dashboard.recentAcquisitions.map((acquisition) => ({
id: acquisition.id,
inventoryItemId: acquisition.inventoryItemId,
date: acquisition.date ?? null,
costBasisMinor: acquisition.costBasisMinor ?? null,
})),
};
}