import 'dotenv/config' import config from '@payload-config' import { getPayload, type Payload } from 'payload' import { mediaByFilename } from './mediaByFilename' import { preistraegerDetailContent } from '@/spa/preistraegerDetailContent' async function main() { const payload = await getPayload({ config }) const [fallbackImage, sideImage] = await Promise.all([ mediaByFilename(payload, preistraegerDetailContent.fallbackImageFilename), mediaByFilename(payload, preistraegerDetailContent.sideImage.imageFilename), ]) const { fallbackImageFilename: _fallbackImageFilename, ...detailContent } = preistraegerDetailContent const { imageFilename: _sideImageFilename, ...sideImageContent } = preistraegerDetailContent.sideImage const winners = await payload.find({ collection: 'preistraeger', draft: true, overrideAccess: true, pagination: false, limit: 1000, }) await Promise.all( winners.docs.map((winner) => payload.update({ collection: 'preistraeger', id: winner.id, overrideAccess: true, context: { disableRevalidate: true }, data: { detailPage: { ...detailContent, fallbackImage, sideImage: { ...sideImageContent, image: sideImage, }, }, } as never, }), ), ) payload.logger.info(`Preloaded Preisträger detail CMS fields for ${winners.docs.length} records`) process.exit(0) } main().catch((error) => { console.error(error) process.exit(1) })