Includes MFA-capable authentication, session and CSRF security, password recovery, listing lifecycle and ownership rules, inventory image metadata, local ImageStorage, migrations, tests, and implementation status documentation. Verification: npm test (62 passing) and integration suite (14 passing).
20 lines
576 B
JavaScript
20 lines
576 B
JavaScript
function toIsoString(value) {
|
|
return value instanceof Date ? value.toISOString() : value;
|
|
}
|
|
|
|
export function toAdminListingDto(listing) {
|
|
return {
|
|
id: listing.id,
|
|
inventoryItemId: listing.inventoryItemId,
|
|
productName: listing.productName,
|
|
categoryId: listing.categoryId,
|
|
conditionId: listing.conditionId,
|
|
askingPriceMinor: listing.askingPriceMinor,
|
|
imageCount: listing.imageCount,
|
|
status: listing.status,
|
|
notes: listing.notes ?? null,
|
|
createdAt: toIsoString(listing.createdAt),
|
|
updatedAt: toIsoString(listing.updatedAt),
|
|
};
|
|
}
|