From f9c02ed23b2e9939160f8e8ed768396b5aefa197 Mon Sep 17 00:00:00 2001 From: gimenes Date: Thu, 8 Oct 2026 14:57:03 -0300 Subject: [PATCH] feat(hosted): delivery bucket settings, store and CDN purge Adds the hosted delivery bucket settings (R2/S3), `deliveryStore` (read/write release objects with ETag handling) and `deliveryPurge` (CDN purge with one retry), plus shared test helpers. Nothing calls them yet; the routes land in #10/#11. A temporary knip `ignoreIssues` entry for `apps/api/src/hosted/*.ts` (unused exports only) is removed in PR 11 of this track. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01WNwbSEePYNcY5YCgqZURig --- apps/api/src/file-storage/upload-policy.ts | 2 +- apps/api/src/hosted/delivery-purge.test.ts | 169 +++++++++++++++ apps/api/src/hosted/delivery-purge.ts | 98 +++++++++ apps/api/src/hosted/delivery-store.test.ts | 61 ++++++ apps/api/src/hosted/delivery-store.ts | 219 +++++++++++++++++++ apps/api/src/hosted/hosted-test-helpers.ts | 234 +++++++++++++++++++++ apps/api/src/settings/resolve-config.ts | 15 +- apps/api/src/settings/types.ts | 20 ++ knip.jsonc | 4 +- 9 files changed, 819 insertions(+), 3 deletions(-) create mode 100644 apps/api/src/hosted/delivery-purge.test.ts create mode 100644 apps/api/src/hosted/delivery-purge.ts create mode 100644 apps/api/src/hosted/delivery-store.test.ts create mode 100644 apps/api/src/hosted/delivery-store.ts create mode 100644 apps/api/src/hosted/hosted-test-helpers.ts diff --git a/apps/api/src/file-storage/upload-policy.ts b/apps/api/src/file-storage/upload-policy.ts index 14aa4195c4..05678d0664 100644 --- a/apps/api/src/file-storage/upload-policy.ts +++ b/apps/api/src/file-storage/upload-policy.ts @@ -33,7 +33,7 @@ export const MAX_UPLOAD_BYTES = 100 * 1024 * 1024; * browsers do NOT execute scripts when SVG is loaded as a pure image. * - Top-level navigation, ``, `