From 8dd1c87b11bdc5ea9793ee6aabc208f7c793e7c3 Mon Sep 17 00:00:00 2001 From: Sasha <64744993+r1tsuu@users.noreply.github.com> Date: Wed, 19 Nov 2025 18:15:04 +0200 Subject: [PATCH] feat: allow to specify payload instance cache key in `handleEndpoints` --- packages/payload/src/utilities/createPayloadRequest.ts | 8 +++++++- packages/payload/src/utilities/handleEndpoints.ts | 10 +++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/payload/src/utilities/createPayloadRequest.ts b/packages/payload/src/utilities/createPayloadRequest.ts index 29708bd8c44..6b27c41cb81 100644 --- a/packages/payload/src/utilities/createPayloadRequest.ts +++ b/packages/payload/src/utilities/createPayloadRequest.ts @@ -18,6 +18,7 @@ type Args = { params?: { collection: string } + payloadInstanceCacheKey?: string request: Request } @@ -25,10 +26,15 @@ export const createPayloadRequest = async ({ canSetHeaders, config: configPromise, params, + payloadInstanceCacheKey, request, }: Args): Promise => { const cookies = parseCookies(request.headers) - const payload = await getPayload({ config: configPromise, cron: true }) + const payload = await getPayload({ + config: configPromise, + cron: true, + key: payloadInstanceCacheKey, + }) const { config } = payload const localization = config.localization diff --git a/packages/payload/src/utilities/handleEndpoints.ts b/packages/payload/src/utilities/handleEndpoints.ts index 78706d752c5..9b1ef447a09 100644 --- a/packages/payload/src/utilities/handleEndpoints.ts +++ b/packages/payload/src/utilities/handleEndpoints.ts @@ -63,12 +63,14 @@ export const handleEndpoints = async ({ basePath = '', config: incomingConfig, path, + payloadInstanceCacheKey, request, }: { basePath?: string config: Promise | SanitizedConfig /** Override path from the request */ path?: string + payloadInstanceCacheKey?: string request: Request }): Promise => { let handler!: PayloadHandler @@ -122,6 +124,7 @@ export const handleEndpoints = async ({ basePath, config: incomingConfig, path, + payloadInstanceCacheKey, request: req, }) @@ -129,7 +132,12 @@ export const handleEndpoints = async ({ } try { - req = await createPayloadRequest({ canSetHeaders: true, config: incomingConfig, request }) + req = await createPayloadRequest({ + canSetHeaders: true, + config: incomingConfig, + payloadInstanceCacheKey, + request, + }) if (req.method?.toLowerCase() === 'options') { return Response.json(