import { PrismaClient } from "@prisma/client" const prisma = new PrismaClient() const defaultCategories = [ { name: "Alimentation", color: "#22c55e", icon: "shopping-cart", keywords: ["carrefour", "leclerc", "auchan", "lidl", "supermarche", "boulangerie", "restaurant"], parentId: null, }, { name: "Transport", color: "#3b82f6", icon: "car", keywords: ["sncf", "ratp", "uber", "essence", "total", "parking", "peage"], parentId: null, }, { name: "Logement", color: "#f59e0b", icon: "home", keywords: ["loyer", "edf", "engie", "eau", "assurance habitation"], parentId: null, }, { name: "Loisirs", color: "#ec4899", icon: "gamepad", keywords: ["cinema", "netflix", "spotify", "fnac", "amazon"], parentId: null, }, { name: "Santé", color: "#ef4444", icon: "heart", keywords: ["pharmacie", "medecin", "docteur", "hopital", "mutuelle"], parentId: null, }, { name: "Revenus", color: "#10b981", icon: "wallet", keywords: ["salaire", "virement recu", "remboursement"], parentId: null, }, { name: "Abonnements", color: "#8b5cf6", icon: "repeat", keywords: ["free", "orange", "sfr", "bouygues", "internet", "telephone"], parentId: null, }, { name: "Shopping", color: "#06b6d4", icon: "bag", keywords: ["zara", "h&m", "decathlon", "ikea"], parentId: null, }, ] async function main() { console.log("Seeding database...") // Create root folder if it doesn't exist const rootFolder = await prisma.folder.upsert({ where: { id: "folder-root" }, update: {}, create: { id: "folder-root", name: "Mes Comptes", parentId: null, color: "#6366f1", icon: "folder", }, }) console.log("Root folder created:", rootFolder.name) // Create default categories for (const category of defaultCategories) { const existing = await prisma.category.findFirst({ where: { name: category.name, parentId: category.parentId, }, }) if (!existing) { await prisma.category.create({ data: { name: category.name, color: category.color, icon: category.icon, keywords: JSON.stringify(category.keywords), parentId: category.parentId, }, }) console.log(`Created category: ${category.name}`) } } console.log("Seeding completed!") } main() .catch((e) => { console.error(e) process.exit(1) }) .finally(async () => { await prisma.$disconnect() })