refactor: remove category rules and related logic from defaults, types, and services for cleaner codebase
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { PrismaClient } from "@prisma/client"
|
||||
import { defaultCategories, defaultCategoryRules, type CategoryDefinition } from "../lib/defaults"
|
||||
import { defaultCategories, type CategoryDefinition } from "../lib/defaults"
|
||||
|
||||
const prisma = new PrismaClient()
|
||||
|
||||
@@ -113,51 +113,6 @@ async function main() {
|
||||
else unchanged++
|
||||
}
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// PHASE 3: Sync des règles (optionnel)
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
if (defaultCategoryRules.length > 0) {
|
||||
console.log("\n" + "═".repeat(50))
|
||||
console.log("PHASE 3: Règles de catégorisation")
|
||||
console.log("═".repeat(50))
|
||||
|
||||
let rulesCreated = 0
|
||||
let rulesSkipped = 0
|
||||
|
||||
for (const rule of defaultCategoryRules) {
|
||||
const categoryId = slugToId.get(rule.categorySlug)
|
||||
if (!categoryId) {
|
||||
console.log(`⚠️ Catégorie introuvable pour règle: ${rule.categorySlug}`)
|
||||
rulesSkipped++
|
||||
continue
|
||||
}
|
||||
|
||||
// Vérifier si la règle existe déjà
|
||||
const existing = await prisma.categoryRule.findFirst({
|
||||
where: {
|
||||
categoryId,
|
||||
pattern: rule.pattern,
|
||||
},
|
||||
})
|
||||
|
||||
if (!existing) {
|
||||
await prisma.categoryRule.create({
|
||||
data: {
|
||||
categoryId,
|
||||
pattern: rule.pattern,
|
||||
isRegex: rule.isRegex,
|
||||
},
|
||||
})
|
||||
console.log(`✅ Règle créée: ${rule.pattern.substring(0, 40)}...`)
|
||||
rulesCreated++
|
||||
} else {
|
||||
rulesSkipped++
|
||||
}
|
||||
}
|
||||
|
||||
console.log(`\n📊 Règles: ${rulesCreated} créées, ${rulesSkipped} existantes`)
|
||||
}
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// RÉSUMÉ
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
@@ -172,12 +127,10 @@ async function main() {
|
||||
const totalCategories = await prisma.category.count()
|
||||
const parentCount = await prisma.category.count({ where: { parentId: null } })
|
||||
const childCount = await prisma.category.count({ where: { NOT: { parentId: null } } })
|
||||
const totalRules = await prisma.categoryRule.count()
|
||||
const totalKeywords = defaultCategories.reduce((sum, c) => sum + c.keywords.length, 0)
|
||||
|
||||
console.log("\n📈 Base de données:")
|
||||
console.log(` Total catégories: ${totalCategories} (${parentCount} parents, ${childCount} enfants)`)
|
||||
console.log(` Total règles: ${totalRules}`)
|
||||
console.log(` Total keywords: ${totalKeywords}`)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user