import 'dotenv/config' import config from '@payload-config' import { getPayload } from 'payload' import { mediaByFilename } from './mediaByFilename' import { defaultApplicationPhaseData } from '@/spa/applicationPhase' import { defaultFooterData, defaultHeaderData } from '@/spa/cmsNavigation' import { defaultSiteSettings } from '@/spa/siteSettings' async function main() { const payload = await getPayload({ config }) const [logo, ewifLogo, partnerLogos, skylineImage] = await Promise.all([ mediaByFilename(payload, 'bmp-logo.png'), mediaByFilename(payload, 'ewif-logo.png'), mediaByFilename(payload, 'partner-logos.png'), mediaByFilename(payload, 'munich-skyline.jpg'), ]) const { logo: _headerLogo, ...headerData } = defaultHeaderData const { logo: _footerLogo, partnerLogos: _defaultPartnerLogos, ...footerData } = defaultFooterData const { skylineImageUrl: _skylineImageUrl, ...siteSettingsData } = defaultSiteSettings await Promise.all([ payload.updateGlobal({ slug: 'header', context: { disableRevalidate: true }, data: { ...headerData, logo, } as never, }), payload.updateGlobal({ slug: 'footer', context: { disableRevalidate: true }, data: { ...footerData, logo, partnerLogos: [ { alt: 'EWIF – Europäisches Wirtschaftsforum', image: ewifLogo }, { alt: 'Hochschule für angewandtes Management · Gipfeldialog Altaussee', image: partnerLogos, }, ].filter((item) => item.image), } as never, }), payload.updateGlobal({ slug: 'site-settings', context: { disableRevalidate: true }, data: { ...siteSettingsData, skylineImage, } as never, }), payload.updateGlobal({ slug: 'application-phase', context: { disableRevalidate: true }, data: defaultApplicationPhaseData as never, }), ]) payload.logger.info('Preloaded global CMS settings.') await payload.destroy() process.exit(0) } main().catch((error) => { console.error(error) process.exit(1) })