refactor: move default categories and root folder to a separate module for better organization and reuse

This commit is contained in:
Julien Froidefond
2025-11-27 09:58:26 +01:00
parent 6bac7d5874
commit 66c4ead350
3 changed files with 75 additions and 136 deletions

View File

@@ -1,80 +1,16 @@
import { PrismaClient } from "@prisma/client"
import { defaultCategories, defaultRootFolder } from "../lib/defaults"
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" },
where: { id: defaultRootFolder.id },
update: {},
create: {
id: "folder-root",
name: "Mes Comptes",
parentId: null,
color: "#6366f1",
icon: "folder",
},
create: defaultRootFolder,
})
console.log("Root folder created:", rootFolder.name)