Ensures chocolate and baklava exist for the website categories dock, and supports tag-filtered product lists for home carousels. Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
896 B
TypeScript
39 lines
896 B
TypeScript
import { PrismaClient } from '@prisma/client'
|
|
|
|
const prisma = new PrismaClient()
|
|
|
|
const cats = [
|
|
{ nameFa: 'شکلات', nameEn: 'Chocolate', slug: 'chocolate', sortOrder: 10 },
|
|
{ nameFa: 'باقلوا', nameEn: 'Baklava', slug: 'baklava', sortOrder: 11 },
|
|
]
|
|
|
|
async function main() {
|
|
for (const cat of cats) {
|
|
await prisma.category.upsert({
|
|
where: { slug: cat.slug },
|
|
create: cat,
|
|
update: {
|
|
nameFa: cat.nameFa,
|
|
nameEn: cat.nameEn,
|
|
sortOrder: cat.sortOrder,
|
|
},
|
|
})
|
|
}
|
|
|
|
const roots = await prisma.category.findMany({
|
|
where: { parentId: null },
|
|
select: { slug: true, nameFa: true, nameEn: true },
|
|
orderBy: { sortOrder: 'asc' },
|
|
})
|
|
console.log(JSON.stringify(roots, null, 2))
|
|
}
|
|
|
|
main()
|
|
.catch((err) => {
|
|
console.error(err)
|
|
process.exitCode = 1
|
|
})
|
|
.finally(async () => {
|
|
await prisma.$disconnect()
|
|
})
|