// Retained pre-archive demo receipts keep their original inspector. // @requirements REQ-EU-ORDER-ACTION REQ-PRODUCT-DEMO-WORKSPACE REQ-PRODUCT-A11Y REQ-PRODUCT-MOBILE import {renderWorkspaceShell,escapeHtml as e} from '../packages/notabenda-cf/dist/render.js'; import {renderPaidOrderReview,normalizePaidOrderReview,formatPaidOrderMoney} from 'notabenda/orders'; import {adminPresentation} from './admin-presentation.mjs'; const base='/demo/admin/orders',prefix='demo/orders/received/'; export async function legacyOrderDemoAdmin(request,storage){ const url=new URL(request.url);if(request.method!=='GET')return new Response('Method not allowed.',{status:405}); const nonce=crypto.randomUUID().replaceAll('-',''),query=url.searchParams.get('q')??'';if(query.length>200)return new Response('Search is too long.',{status:400}); let body; if(url.pathname===base+'/record'){ const id=url.searchParams.get('id');if(!/^[a-f0-9]{64}$/u.test(id??''))return new Response('Invalid record.',{status:400});const record=await storage.get(prefix+id);if(!record)return new Response('Not found.',{status:404}); const review=normalizePaidOrderReview(record.review,{allowPreview:true}); body=`
REQUEST RECEIVED
The exact definition and quote retained with this request. Receipt is separate from payment, fulfillment and contract confirmation.
${renderPaidOrderReview(review,{idPrefix:'stored-order',headingLevel:3,allowPreview:true})}CHECKOUT HISTORY
Inspect the information and quote associated with each received request.
${records.length} ${records.length===1?'request':'requests'}
${e(new Date(r.receivedAt).toUTCString())}
Request ${e(r.request.requestId)}Try an order example, or search for another product or request ID.
Open the order example ↗