71 lines
2.3 KiB
TypeScript
71 lines
2.3 KiB
TypeScript
import { getPayload } from 'payload'
|
|
import configPromise from '../src/payload.config'
|
|
|
|
async function run() {
|
|
const payload = await getPayload({ config: configPromise })
|
|
|
|
const mappings: Record<string, Record<string, string>> = {
|
|
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<string, string> = {
|
|
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()
|