146 lines
5.5 KiB
TypeScript
146 lines
5.5 KiB
TypeScript
import { getPayload } from 'payload'
|
||
import configPromise from '../src/payload.config'
|
||
|
||
async function run() {
|
||
console.log('Connecting to Payload Local API...')
|
||
const payload = await getPayload({ config: configPromise })
|
||
|
||
console.log('1. DELETING FAQ PAGE (ID 5)...')
|
||
try {
|
||
await payload.delete({
|
||
collection: 'pages',
|
||
id: 5,
|
||
})
|
||
console.log('FAQ page deleted.')
|
||
} catch (err: any) {
|
||
if (err.message?.includes('Not Found')) {
|
||
console.log('FAQ page already deleted.')
|
||
} else {
|
||
console.log('Error deleting FAQ page (might be already deleted or foreign key constraint):', err.message)
|
||
}
|
||
}
|
||
|
||
console.log('2. UPDATING HEADER GLOBAL...')
|
||
for (const locale of ['pl', 'de']) {
|
||
const header = await payload.findGlobal({ slug: 'header', locale: locale as any })
|
||
if (header.navigation) {
|
||
const newNav = header.navigation.filter((item: any) => {
|
||
const pageId = typeof item.page === 'object' && item.page !== null ? item.page.id : item.page
|
||
return pageId !== 5 && pageId !== 1
|
||
})
|
||
await payload.updateGlobal({
|
||
slug: 'header',
|
||
locale: locale as any,
|
||
data: { navigation: newNav },
|
||
})
|
||
console.log(`Updated Header navigation for ${locale}`)
|
||
}
|
||
}
|
||
|
||
console.log('3. UPDATING FOOTER GLOBAL...')
|
||
for (const locale of ['pl', 'de']) {
|
||
const footer = await payload.findGlobal({ slug: 'footer', locale: locale as any })
|
||
if (footer.navigation) {
|
||
const newNav = footer.navigation.filter((item: any) => {
|
||
const pageId = typeof item.page === 'object' && item.page !== null ? item.page.id : item.page
|
||
return pageId !== 5 && pageId !== 1
|
||
})
|
||
await payload.updateGlobal({
|
||
slug: 'footer',
|
||
locale: locale as any,
|
||
data: { navigation: newNav },
|
||
})
|
||
console.log(`Updated Footer navigation for ${locale}`)
|
||
}
|
||
}
|
||
|
||
console.log('4. UPDATING FAQ TEASER ON HOME PAGE...')
|
||
const homePl = await payload.findByID({ collection: 'pages', id: 1, locale: 'pl' })
|
||
if (homePl && homePl.layout) {
|
||
const layoutPl = homePl.layout.map((block: any) => {
|
||
if (block.blockType === 'faqTeaser') {
|
||
return {
|
||
...block,
|
||
title: 'Częste pytania',
|
||
questions: [
|
||
{
|
||
question: 'Czy muszę przyjeżdżać osobiście do biura?',
|
||
answer: 'Nie, wszystkie formalności możemy załatwić w 100% zdalnie. Dokumenty przesyłasz online przez bezpieczne kanały, a konsultacje prowadzimy telefonicznie lub przez WhatsApp.'
|
||
},
|
||
{
|
||
question: 'Do kiedy muszę złożyć deklarację podatkową w Niemczech?',
|
||
answer: 'Standardowy termin to 31 sierpnia kolejnego roku, jednak korzystając z usług doradcy podatkowego, zyskujesz dodatkowy czas – nawet do końca lutego lub maja następnego roku (w zależności od ustaleń na dany rok).'
|
||
},
|
||
{
|
||
question: 'Jak długo czeka się na zwrot podatku z Finanzamt?',
|
||
answer: 'Czas oczekiwania na decyzję i przelew zależy od urzędu skarbowego (Finanzamt) – najczęściej wynosi on od 3 do 8 tygodni po złożeniu kompletnej deklaracji.'
|
||
},
|
||
{
|
||
question: 'Czy załatwiacie również zasiłek Kindergeld?',
|
||
answer: 'Tak, pomagamy w formalnościach związanych z pozyskaniem zasiłku rodzinnego Kindergeld dla pracowników zatrudnionych na terenie Niemiec.'
|
||
}
|
||
]
|
||
}
|
||
}
|
||
return block
|
||
})
|
||
|
||
await payload.update({
|
||
collection: 'pages',
|
||
id: 1,
|
||
locale: 'pl',
|
||
data: { layout: layoutPl },
|
||
})
|
||
console.log('Updated Home Page FAQ (PL)')
|
||
}
|
||
|
||
const homeDe = await payload.findByID({ collection: 'pages', id: 1, locale: 'de' })
|
||
if (homeDe && homeDe.layout) {
|
||
const layoutDe = homeDe.layout.map((block: any) => {
|
||
if (block.blockType === 'faqTeaser') {
|
||
return {
|
||
...block,
|
||
title: 'Häufig gestellte Fragen (FAQ)',
|
||
questions: [
|
||
{
|
||
question: 'Muss ich persönlich ins Büro kommen?',
|
||
answer: 'Nein, wir können alle Formalitäten zu 100 % online erledigen. Sie übermitteln Dokumente sicher online, und wir beraten Sie telefonisch oder per WhatsApp.'
|
||
},
|
||
{
|
||
question: 'Bis wann muss ich die Steuererklärung in Deutschland einreichen?',
|
||
answer: 'Die Standardfrist ist der 31. August des Folgejahres. Wenn Sie jedoch die Dienste eines Steuerberaters in Anspruch nehmen, verlängert sich diese Frist (oft bis Ende Februar oder Mai des übernächsten Jahres, je nach Vorgaben).'
|
||
},
|
||
{
|
||
question: 'Wie lange dauert es, bis das Finanzamt die Erstattung überweist?',
|
||
answer: 'Die Bearbeitungszeit hängt vom jeweiligen Finanzamt ab und beträgt in der Regel zwischen 3 und 8 Wochen nach Einreichung einer vollständigen Steuererklärung.'
|
||
},
|
||
{
|
||
question: 'Unterstützen Sie auch beim Kindergeld?',
|
||
answer: 'Ja, wir helfen Ihnen gerne bei allen Formalitäten rund um die Beantragung von Kindergeld für in Deutschland Beschäftigte.'
|
||
}
|
||
]
|
||
}
|
||
}
|
||
return block
|
||
})
|
||
|
||
await payload.update({
|
||
collection: 'pages',
|
||
id: 1,
|
||
locale: 'de',
|
||
data: { layout: layoutDe },
|
||
})
|
||
console.log('Updated Home Page FAQ (DE)')
|
||
}
|
||
|
||
console.log('Setup completed successfully!')
|
||
process.exit(0)
|
||
}
|
||
|
||
try {
|
||
await run()
|
||
} catch (err) {
|
||
console.error('ERROR during setup:', err)
|
||
process.exit(1)
|
||
}
|