fix(critical): filter draft posts on production — add explicit _status:published check
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 8s
Build & Deploy / 🧪 QA (push) Successful in 1m42s
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Post-Deploy Verification (push) Has been cancelled
Build & Deploy / ⚡ Performance & Accessibility (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
Build & Deploy / 🏗️ Build (push) Has been cancelled

This commit is contained in:
2026-02-25 02:34:55 +01:00
parent c3111a04d8
commit d5da64cb76

View File

@@ -60,13 +60,15 @@ export async function getPostBySlug(slug: string, locale: string): Promise<PostM
try {
const payload = await getPayload({ config: configPromise });
const isDev = process.env.NODE_ENV === 'development';
const { docs } = await payload.find({
collection: 'posts',
where: {
slug: { equals: slug },
locale: { equals: locale },
...(!isDev ? { _status: { equals: 'published' } } : {}),
},
draft: process.env.NODE_ENV === 'development',
draft: isDev,
limit: 1,
});
@@ -107,16 +109,17 @@ export async function getPostBySlug(slug: string, locale: string): Promise<PostM
export async function getAllPosts(locale: string): Promise<PostMdx[]> {
try {
const payload = await getPayload({ config: configPromise });
// Query only published posts (access checks applied automatically by Payload!)
const isDev = process.env.NODE_ENV === 'development';
const { docs } = await payload.find({
collection: 'posts',
where: {
locale: {
equals: locale,
},
...(!isDev ? { _status: { equals: 'published' } } : {}),
},
sort: '-date',
draft: process.env.NODE_ENV === 'development', // Includes Drafts if running locally
draft: isDev,
limit: 100,
});