import { getPayload } from 'payload' import configPromise from '../src/payload.config' async function run() { const payload = await getPayload({ config: configPromise }) const mappings: Record> = { pl: { 'Deklaracje podatkowe': 'sporzadzenie-deklaracji-podatkowej-einkommensteuererklarung', 'Kontrola decyzji': 'kontrola-decyzji-podatkowej-steuerbescheid', 'Ulgi i dopłaty': 'ulgi-doplaty-i-odliczenia-kindergeld-dojazdy-podwojne-gospodarstwo' }, de: { 'Steuererklärungen': 'erstellung-der-einkommensteuererklarung', 'Steuerbescheidprüfung': 'prufung-des-steuerbescheids', 'Vergünstigungen und Zuschüsse': 'freibetrage-kindergeld-and-fahrtkosten' } } const urls: Record = { pl: '/uslugi', de: '/leistungen' } for (const locale of ['pl', 'de'] as const) { const pages = await payload.find({ collection: 'pages', locale, where: { slug: { equals: 'home' } } }) if (pages.docs.length > 0) { const homePage = pages.docs[0] if (homePage.layout) { let changed = false const newLayout = homePage.layout.map((block: any) => { if (block.blockType === 'servicesList' && block.services) { block.services = block.services.map((service: any) => { const anchor = mappings[locale][service.title] const newUrl = anchor ? `${urls[locale]}#${anchor}` : urls[locale] if (service.linkUrl !== newUrl) { service.linkUrl = newUrl changed = true } return service }) } return block }) if (changed) { await payload.update({ collection: 'pages', id: homePage.id, locale, data: { layout: newLayout } }) } console.log(`\nStrona ${locale.toUpperCase()} (Home) zaktualizowane linki:`) newLayout.find((b:any) => b.blockType === 'servicesList')?.services?.forEach((s:any) => { console.log(` - ${s.title} -> ${s.linkUrl}`) }) } } } process.exit(0) } run()