x
This commit is contained in:
1 parent
9370869dc2
commit
b8873f88b0
4 files changed
+351
-3
No files matched your search
@@ -0,0 +1,54 @@
|
||||
import prisma from '../src/lib/prisma';
|
||||
|
||||
function fixNode(node: any) {
|
||||
if (node.translations) {
|
||||
const labelKey = node.title !== undefined ? 'title' : 'label';
|
||||
if (typeof node[labelKey] === 'string') {
|
||||
node[labelKey] = { en: node[labelKey] };
|
||||
}
|
||||
node[labelKey] = { ...(node[labelKey] || {}), ...node.translations };
|
||||
delete node.translations;
|
||||
}
|
||||
|
||||
if (node.columns && Array.isArray(node.columns)) {
|
||||
node.columns.forEach((col: any) => fixNode(col));
|
||||
}
|
||||
if (node.links && Array.isArray(node.links)) {
|
||||
node.links.forEach((link: any) => fixNode(link));
|
||||
}
|
||||
if (node.items && Array.isArray(node.items)) {
|
||||
node.items.forEach((item: any) => fixNode(item));
|
||||
}
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const menu = await prisma.menu.findUnique({
|
||||
where: { name: 'main' }
|
||||
});
|
||||
|
||||
if (!menu || !menu.payload) {
|
||||
console.log('No main menu payload found');
|
||||
return;
|
||||
}
|
||||
|
||||
const payload = menu.payload as any[];
|
||||
console.log('Original payload length:', payload.length);
|
||||
|
||||
payload.forEach(fixNode);
|
||||
|
||||
await prisma.menu.update({
|
||||
where: { name: 'main' },
|
||||
data: { payload }
|
||||
});
|
||||
|
||||
console.log('Menu fixed successfully');
|
||||
}
|
||||
|
||||
main()
|
||||
.catch(e => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
})
|
||||
.finally(async () => {
|
||||
await prisma.$disconnect();
|
||||
});
|
||||
Reference in new issue
Block a user