/* 1. Get bytes */
const pdfBytes = await pdfRes.arrayBuffer();
/* 2. Persist to R2 */
const key = `${userId}/${clientId}-${Date.now()}.pdf`;
const putRes = await env.REPORTS.put(key, pdfBytes, {
httpMetadata: { contentType: 'application/pdf' }
}); // put() default is private. ✔
console.log('stored to R2 key →', key, 'etag →', putRes?.etag);
/* 3. Return a link the front-end can hit */
return Response.json({ ok: true, url: `/reports/${key}` });
/* 1. Get bytes */
const pdfBytes = await pdfRes.arrayBuffer();
/* 2. Persist to R2 */
const key = `${userId}/${clientId}-${Date.now()}.pdf`;
const putRes = await env.REPORTS.put(key, pdfBytes, {
httpMetadata: { contentType: 'application/pdf' }
}); // put() default is private. ✔
console.log('stored to R2 key →', key, 'etag →', putRes?.etag);
/* 3. Return a link the front-end can hit */
return Response.json({ ok: true, url: `/reports/${key}` });