feat(backend): update collections, config and migration tools

Update Payload CMS configuration, collections (Audit, Posts), and add migration scripts/reports.
This commit is contained in:
2026-02-11 11:50:23 +08:00
parent 8ca609a889
commit be7fc902fb
46 changed files with 5442 additions and 15 deletions

View File

@@ -0,0 +1,52 @@
#!/usr/bin/env tsx
import { config as dotenvConfig } from 'dotenv'
import { resolve, dirname } from 'path'
import { fileURLToPath } from 'url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
const envPath = resolve(__dirname, '../../.env')
dotenvConfig({ path: envPath })
import { parseWebflowCSV } from './csvParser'
import { htmlToLexical } from './lexicalConverter'
async function main() {
const data = await parseWebflowCSV('/Users/pukpuk/Dev/website-enchun-mgr/恩群數位行銷 - 行銷放大鏡集.csv')
const failPost = data.posts.find((p: any) => p.title.includes('一點都不難'))
const lexical = htmlToLexical(failPost.content || '')
const parsed = JSON.parse(lexical)
console.log('Root type:', parsed.root?.type)
console.log('Root version:', parsed.root?.version)
console.log('Children count:', parsed.root?.children?.length)
// Check each child
let issueCount = 0
parsed.root?.children?.forEach((child: any, i: number) => {
if (!child.type) {
console.log('Child', i, 'missing type')
issueCount++
}
if (!child.version) {
console.log('Child', i, 'missing version')
issueCount++
}
if (!child.children || !Array.isArray(child.children)) {
console.log('Child', i, 'missing or invalid children array')
issueCount++
}
})
console.log('Issues found:', issueCount)
// Show first few children
console.log('\nFirst 3 children:')
parsed.root?.children?.slice(0, 3).forEach((child: any, i: number) => {
console.log(`[${i}]`, JSON.stringify(child, null, 2))
})
}
main().catch(console.error)