Files
e-tib.com/scripts/fix-referenzen.ts
Marc Mintel d14122005d Initial commit: E-TIB production hardening & E2E foundation
Former-commit-id: ef04fca3d76375630c05aac117bf586953f3b657
2026-04-28 19:11:38 +02:00

82 lines
2.6 KiB
TypeScript

import { getPayload } from 'payload';
import configPromise from '../payload.config';
const createReferenzen = async () => {
const payload = await getPayload({ config: configPromise });
payload.logger.info('Creating Referenzen...');
try {
for (const loc of ['de', 'en']) {
const existing = await payload.find({
collection: 'pages',
where: { slug: { equals: 'referenzen' } },
locale: loc as any,
limit: 1,
});
const referenzenData = {
title: loc === 'de' ? 'Referenzen' : 'References',
slug: 'referenzen',
_status: 'published',
content: {
root: {
type: 'root',
format: '',
indent: 0,
version: 1,
children: [
{
type: 'block',
format: '',
version: 2,
fields: {
blockType: 'heroSection',
title: loc === 'de' ? 'Unsere Referenzen' : 'Our References',
description: loc === 'de' ? 'Projekte die uns stolz machen.' : 'Projects that make us proud.'
}
}
]
}
}
};
if (existing.totalDocs === 0) {
await payload.create({ collection: 'pages', locale: loc as any, data: referenzenData });
} else {
await payload.update({ collection: 'pages', id: existing.docs[0].id, locale: loc as any, data: referenzenData });
}
// update setings again
const navde = [
{ label: 'Unternehmen', url: '/' },
{ label: 'Kompetenzen', url: '/kompetenzen' },
{ label: 'Referenzen', url: '/referenzen' },
{ label: 'Karriere', url: '/karriere' }
];
const naven = [
{ label: 'Company', url: '/' },
{ label: 'Competences', url: '/kompetenzen' },
{ label: 'References', url: '/referenzen' },
{ label: 'Career', url: '/karriere' }
];
await payload.updateGlobal({
slug: 'settings',
locale: loc as any,
data: {
mainNav: loc === 'de' ? navde : naven
}
});
}
payload.logger.info('✅ Referenzen created!');
process.exit(0);
} catch (err: any) {
payload.logger.error('❌ Failed!');
process.exit(1);
}
};
createReferenzen();