# ============================================================ # domain.py — Constantes et énumérations du domaine Data Sentinel # ============================================================ from enum import Enum class UserRole(str, Enum): """Rôles applicatifs — miroir de la contrainte CK_USER_ROLE en base.""" ADMIN = "Admin" SUPERVISEUR = "Superviseur" CONSULTANT = "Consultant" class AuditAction(str, Enum): """Actions tracées dans JOURNAL_AUDIT.""" LOGIN = "LOGIN" CREATE_USER = "CREATE_USER" UPDATE_USER = "UPDATE_USER" DELETE_USER = "DELETE_USER" RESET_PASSWORD = "RESET_PASSWORD" CREATE_REFERENTIEL = "CREATE_REFERENTIEL" UPDATE_REFERENTIEL = "UPDATE_REFERENTIEL" DELETE_REFERENTIEL = "DELETE_REFERENTIEL" # ============================================================ # Mapping id_monito → table SQL dédiée # Pour ajouter un monitoring : ajouter une entrée ici. # ============================================================ MONITO_TABLES: dict[int, str] = { 1: "MONITO_TIERS_PAYEURS", 2: "MONITO_PRELEVEMENT_SANS_RIB", 3: "MONITO_DOM_TOM_TVA", 4: "MONITO_ZONE_VENTES_CRM", 5: "MONITO_MULTI_MODES_REGLEMENT", 6: "MONITO_SANS_SIRET", 7: "MONITO_SANS_CONTREPARTIE", } # Colonnes de recherche textuelle par table (pour le filtre search) SEARCH_COLS: dict[str, list[str]] = { "MONITO_TIERS_PAYEURS": ["CT_Intitule", "origineClient", "STE"], "MONITO_PRELEVEMENT_SANS_RIB": ["CT_Intitule", "STE"], "MONITO_DOM_TOM_TVA": ["CT_Intitule", "agence", "CT_Pays"], "MONITO_ZONE_VENTES_CRM": ["name", "Agence", "xefi_sagedatabase"], "MONITO_MULTI_MODES_REGLEMENT": ["CT_Intitule", "Agence"], "MONITO_SANS_SIRET": ["ct_intitule", "agence", "ct_num"], "MONITO_SANS_CONTREPARTIE": ["agence", "EC_Piece", "CT_NumCont"], }