refactor: remove category rules and related logic from defaults, types, and services for cleaner codebase
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import type { CategoryRule } from "./types"
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// STRUCTURE HIÉRARCHIQUE DES CATÉGORIES
|
||||
@@ -986,58 +985,6 @@ export const defaultCategories: CategoryDefinition[] = [
|
||||
},
|
||||
]
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// RÈGLES DE CATÉGORISATION AVANCÉES
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
export interface CategoryRuleDefinition extends Omit<CategoryRule, "id" | "categoryId"> {
|
||||
categorySlug: string // Référence au slug de la catégorie
|
||||
}
|
||||
|
||||
export const defaultCategoryRules: CategoryRuleDefinition[] = [
|
||||
// Salaire - patterns typiques de virements salaire
|
||||
{ categorySlug: "revenus-salaire", pattern: "^VIR(EMENT)? (RECU )?.*SALAIRE", isRegex: true },
|
||||
{ categorySlug: "revenus-salaire", pattern: "^VIR(EMENT)? (RECU )?.*PAIE", isRegex: true },
|
||||
|
||||
// Loyer - patterns de prélèvement loyer
|
||||
{ categorySlug: "logement-loyer", pattern: "^PRLV.*LOYER", isRegex: true },
|
||||
{ categorySlug: "logement-loyer", pattern: "^PRLV.*FONCIA", isRegex: true },
|
||||
{ categorySlug: "logement-loyer", pattern: "^PRLV.*NEXITY", isRegex: true },
|
||||
|
||||
// EDF/Engie
|
||||
{ categorySlug: "logement-electricite", pattern: "^PRLV.*EDF", isRegex: true },
|
||||
{ categorySlug: "logement-electricite", pattern: "^PRLV.*ENGIE", isRegex: true },
|
||||
{ categorySlug: "logement-electricite", pattern: "^PRLV.*TOTAL.?ENERGIE", isRegex: true },
|
||||
|
||||
// Télécom
|
||||
{ categorySlug: "abonnements-telecom", pattern: "^PRLV.*FREE( MOBILE)?", isRegex: true },
|
||||
{ categorySlug: "abonnements-telecom", pattern: "^PRLV.*ORANGE", isRegex: true },
|
||||
{ categorySlug: "abonnements-telecom", pattern: "^PRLV.*SFR", isRegex: true },
|
||||
{ categorySlug: "abonnements-telecom", pattern: "^PRLV.*BOUYGUES", isRegex: true },
|
||||
|
||||
// Assurances
|
||||
{ categorySlug: "finance-assurance", pattern: "^PRLV.*AXA", isRegex: true },
|
||||
{ categorySlug: "finance-assurance", pattern: "^PRLV.*MAIF", isRegex: true },
|
||||
{ categorySlug: "finance-assurance", pattern: "^PRLV.*MACIF", isRegex: true },
|
||||
{ categorySlug: "finance-assurance", pattern: "^PRLV.*MATMUT", isRegex: true },
|
||||
|
||||
// Impôts
|
||||
{ categorySlug: "finance-impots", pattern: "^PRLV.*DGFIP", isRegex: true },
|
||||
{ categorySlug: "finance-impots", pattern: "^PRLV.*TRESOR PUBLIC", isRegex: true },
|
||||
{ categorySlug: "finance-impots", pattern: "IMPOT", isRegex: false },
|
||||
|
||||
// Remboursements
|
||||
{ categorySlug: "revenus-remboursements", pattern: "^VIR(EMENT)? (RECU )?.*CPAM", isRegex: true },
|
||||
{ categorySlug: "revenus-remboursements", pattern: "^VIR(EMENT)? (RECU )?.*AMELI", isRegex: true },
|
||||
{ categorySlug: "revenus-remboursements", pattern: "REMBOURSEMENT", isRegex: false },
|
||||
|
||||
// CAF
|
||||
{ categorySlug: "revenus-allocations", pattern: "^VIR(EMENT)? (RECU )?.*CAF", isRegex: true },
|
||||
{ categorySlug: "revenus-allocations", pattern: "ALLOCATION", isRegex: false },
|
||||
|
||||
// Retraits
|
||||
{ categorySlug: "divers-retraits", pattern: "^RETRAIT DAB", isRegex: true },
|
||||
{ categorySlug: "divers-retraits", pattern: "^RET DAB", isRegex: true },
|
||||
]
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════════════════
|
||||
// DOSSIER RACINE
|
||||
|
||||
@@ -48,7 +48,6 @@ const defaultData: BankingData = {
|
||||
transactions: [],
|
||||
folders: [defaultRootFolder],
|
||||
categories: buildCategoriesFromDefaults(),
|
||||
categoryRules: [],
|
||||
}
|
||||
|
||||
export function loadData(): BankingData {
|
||||
|
||||
@@ -43,19 +43,11 @@ export interface Category {
|
||||
parentId: string | null
|
||||
}
|
||||
|
||||
export interface CategoryRule {
|
||||
id: string
|
||||
categoryId: string
|
||||
pattern: string
|
||||
isRegex: boolean
|
||||
}
|
||||
|
||||
export interface BankingData {
|
||||
accounts: Account[]
|
||||
transactions: Transaction[]
|
||||
folders: Folder[]
|
||||
categories: Category[]
|
||||
categoryRules: CategoryRule[]
|
||||
}
|
||||
|
||||
// OFX Parsed types
|
||||
|
||||
Reference in New Issue
Block a user