- Created migration index file to manage database migrations. - Added script to preload participation awards and related blog posts into the CMS. - Introduced new types and default data for application phases. - Added award articles data structure for the upcoming awards.
73 lines
2.1 KiB
TypeScript
73 lines
2.1 KiB
TypeScript
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)
|
||
})
|