This commit is contained in:
Your Name committed 2026-06-24 19:15:04 -04:00
1 parent 81ed9af406
commit 4536db6741
56 files changed
+1127 -198

No files matched your search

+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=fix-menus.d.ts.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"fix-menus.d.ts","sourceRoot":"","sources":["fix-menus.ts"],"names":[],"mappings":""}
+46
View File
@@ -0,0 +1,46 @@
import prisma from '../src/lib/prisma';
function fixNode(node) {
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) => fixNode(col));
}
if (node.links && Array.isArray(node.links)) {
node.links.forEach((link) => fixNode(link));
}
if (node.items && Array.isArray(node.items)) {
node.items.forEach((item) => 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;
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();
});
//# sourceMappingURL=fix-menus.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"fix-menus.js","sourceRoot":"","sources":["fix-menus.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,SAAS,OAAO,CAAC,IAAS;IACxB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9D,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAgB,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzB,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QACvB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QACvB,IAAI,EAAE,EAAE,OAAO,EAAE;KAClB,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE;KACH,KAAK,CAAC,CAAC,CAAC,EAAE;IACT,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;KACD,OAAO,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,MAAM,CAAC,WAAW,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC"}
+2
View File
@@ -0,0 +1,2 @@
export {};
//# sourceMappingURL=fix-scent-guide.d.ts.map
@@ -0,0 +1 @@
{"version":3,"file":"fix-scent-guide.d.ts","sourceRoot":"","sources":["fix-scent-guide.ts"],"names":[],"mappings":""}
+53
View File
@@ -0,0 +1,53 @@
import prisma from '../src/lib/prisma';
import crypto from 'crypto';
async function main() {
const menu = await prisma.menu.findUnique({
where: { name: 'main' }
});
if (!menu || !menu.payload) {
console.error('Menu main not found or payload is empty');
return;
}
const payload = menu.payload;
let updated = false;
for (let i = 0; i < payload.length; i++) {
const node = payload[i];
if (node.nodeId === 'b4b2faf8-8881-4ca9-a8d5-a88054a37385') {
if (node.links && !node.columns) {
console.log('Fixing Scent Guide node...');
const newColumn = {
nodeId: crypto.randomUUID(),
title: {
en: 'Essential Oils',
th: 'น้ำมันหอมระเหย',
ja: 'エッセンシャルオイル',
ko: '에센셜 오일',
vi: 'Tinh dầu',
zh: '精油'
},
links: node.links
};
node.columns = [newColumn];
delete node.links;
updated = true;
}
else {
console.log('Scent Guide node already has columns or no links to fix.');
}
}
}
if (updated) {
await prisma.menu.update({
where: { name: 'main' },
data: { payload }
});
console.log('Successfully updated main menu payload.');
}
else {
console.log('No updates were necessary.');
}
}
main()
.catch(console.error)
.finally(() => prisma.$disconnect());
//# sourceMappingURL=fix-scent-guide.js.map
@@ -0,0 +1 @@
{"version":3,"file":"fix-scent-guide.js","sourceRoot":"","sources":["fix-scent-guide.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAgB,CAAC;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,sCAAsC,EAAE,CAAC;YAC3D,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAE1C,MAAM,SAAS,GAAG;oBAChB,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE;oBAC3B,KAAK,EAAE;wBACL,EAAE,EAAE,gBAAgB;wBACpB,EAAE,EAAE,gBAAgB;wBACpB,EAAE,EAAE,YAAY;wBAChB,EAAE,EAAE,QAAQ;wBACZ,EAAE,EAAE,UAAU;wBACd,EAAE,EAAE,IAAI;qBACT;oBACD,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC;gBAEF,IAAI,CAAC,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,KAAK,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACvB,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;YACvB,IAAI,EAAE,EAAE,OAAO,EAAE;SAClB,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,IAAI,EAAE;KACH,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;KACpB,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC"}