feat: manage blog detail fallback media via payload

This commit is contained in:
syntaxbullet
2026-06-22 12:36:37 +02:00
parent a2c4df74e9
commit 79a9075f3a
5 changed files with 36 additions and 5 deletions

View File

@@ -1,12 +1,24 @@
import 'dotenv/config'
import config from '@payload-config'
import { getPayload } from 'payload'
import { getPayload, type Payload } from 'payload'
import { blogDetailContent } from '@/spa/blogDetailContent'
const mediaByFilename = async (payload: Payload, filename: string) => {
const result = await payload.find({
collection: 'media',
limit: 1,
pagination: false,
where: { filename: { equals: filename } },
})
return result.docs[0]?.id
}
async function main() {
const payload = await getPayload({ config })
const fallbackImage = await mediaByFilename(payload, blogDetailContent.fallbackImageFilename)
const { fallbackImageFilename: _fallbackImageFilename, ...detailContent } = blogDetailContent
const posts = await payload.find({
collection: 'posts',
@@ -25,7 +37,8 @@ async function main() {
context: { disableRevalidate: true },
data: {
detailPage: {
...blogDetailContent,
...detailContent,
fallbackImage,
metaCopy: blogDetailContent.meta,
},
} as never,