fix(cms): enforce public publication contract

This commit is contained in:
syntaxbullet
2026-07-31 14:01:18 +02:00
parent 740e302c58
commit fec1bab2e5
4 changed files with 651 additions and 6 deletions

View File

@@ -0,0 +1,22 @@
export type PublicationQueryOptions = Readonly<{
draft: boolean
overrideAccess: boolean
}>
const publicPublicationQuery = Object.freeze({
draft: false,
overrideAccess: false,
}) satisfies PublicationQueryOptions
const previewPublicationQuery = Object.freeze({
draft: true,
overrideAccess: true,
}) satisfies PublicationQueryOptions
/**
* Keeps public Local API reads access-controlled while allowing the authenticated
* Next.js draft-mode route to intentionally load the latest draft versions.
*/
export function getPublicationQueryOptions(isPreview: boolean): PublicationQueryOptions {
return isPreview ? previewPublicationQuery : publicPublicationQuery
}