import 'dotenv/config' import config from '@payload-config' import { getPayload, type Payload } from 'payload' import { mediaByFilename } from './mediaByFilename' import { blogDetailContent } from '@/spa/blogDetailContent' 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', draft: true, overrideAccess: true, pagination: false, limit: 1000, }) await Promise.all( posts.docs.map((post) => payload.update({ collection: 'posts', id: post.id, overrideAccess: true, context: { disableRevalidate: true }, data: { detailPage: { ...detailContent, fallbackImage, metaCopy: blogDetailContent.meta, }, } as never, }), ), ) payload.logger.info(`Preloaded Blog detail CMS fields for ${posts.docs.length} records`) process.exit(0) } main().catch((error) => { console.error(error) process.exit(1) })