Refactorisation - Hook useApi centralisé (hooks/useApi.js) — supprime 200 lignes dupliquées - Helpers backend : get_or_404, _sync_domain_from_state, _sync_zone_from_state, _stable_id - Constantes de rôles RBAC dans auth.py (ROLE_GLOBAL_ADMIN, etc.) - handle_apply_domain découpé en _sync_domain_row / _sync_mailboxes / _sync_aliases (169→32 lignes) - oidc_callback découpé en _exchange_oidc_token / _provision_oidc_user (159→54 lignes) - Extraction composants : AccountModal, AliasModal, DnssecResultModal, DnssecManageModal - Suppression MailingLists.jsx (inutilisé) Corrections - Notification de connexion différée après validation TOTP - Création domaine : validation complète avant tout appel API (quota bal > quota global bloqué) - Création domaine : service Mail non tenté si création DNS échoue - Alias goto : validation email bloquante (frontend + backend) - Alias : vérification conflit avec compte mail existant (409) - delete_domain : notifie l'agent mail pour suppression dans netadmin_mail - Clés DNSSEC archivées dans key_dir/old/ avant activation et à la suppression de zone - _get_ds_records : exclut le dossier old/ (évitait la lecture de doublons) - Modale TOTP : remplace window.confirm par une vraie modale - "Mon compte" accessible sans rôle - Suppression champ "Serveur API" de la sidebar
14 lines
396 B
SQL
14 lines
396 B
SQL
-- Correction des alias dans la base netadmin dont source est une partie locale
|
|
-- Exemple: "kg-lbc" → "kg-lbc@infolix.fr"
|
|
|
|
-- Vérifier d'abord
|
|
SELECT source, domain FROM aliases WHERE source NOT LIKE '%@%' LIMIT 20;
|
|
|
|
-- Corriger
|
|
UPDATE aliases
|
|
SET source = CONCAT(source, '@', domain)
|
|
WHERE source NOT LIKE '%@%';
|
|
|
|
-- Vérifier
|
|
SELECT source, domain FROM aliases WHERE source NOT LIKE '%@%';
|