from modules.logger import log_event # Base de données simulée des rôles (sera connectée à database.py lors de la création de l'espace connexion) ROLES_UTILISATEURS = { "xavier": "Super Admin", "céline": "Admin", "anaëlle": "VIP", "renan": "VIP", "audric": "VIP" } def obtenir_role(nom_utilisateur): """Retourne le rôle de l'utilisateur.""" return ROLES_UTILISATEURS.get(nom_utilisateur.lower(), "Utilisateur") def est_vip_ou_plus(nom_utilisateur): """Vérifie si l'utilisateur est exonéré de marge commerciale.""" role = obtenir_role(nom_utilisateur) return role in ["Super Admin", "Admin", "VIP"] def formater_affichage_nom(nom_utilisateur): """Formate l'affichage pour l'interface : 'Nom (Rôle)'.""" role = obtenir_role(nom_utilisateur) nom_propre = nom_utilisateur.capitalize() return f"{nom_propre} ({role})" def verifier_droits_attribution(nom_attribueur, nouveau_role): """ Logique métier de sécurité : - Le Super Admin peut tout attribuer. - L'Admin ne peut attribuer que le rôle VIP ou Utilisateur. """ role_attribueur = obtenir_role(nom_attribueur) if role_attribueur == "Super Admin": return True if role_attribueur == "Admin" and nouveau_role in ["VIP", "Utilisateur"]: return True log_event("WARNING", "SECURITY", f"Tentative d'élévation de privilège non autorisée par {nom_attribueur} pour le rôle {nouveau_role}.") return False