Files
roadwave/docs/domains/_shared/sequences/account-deletion.md
jpgiannetti e63603551d docs(shared): ajouter documentation complète entités, états et séquences
- Entités: 7 nouveaux schémas (sessions, devices, consents, location-history, interest-gauges, reports, exports)
- États: 5 diagrammes lifecycles (compte, contenu, session, signalement, export)
- Séquences: 6 flows (auth, refresh token, modération, signalement, export, suppression)
- Renommage: modele-global.md → entities-overview.md
- MkDocs: organisation hiérarchique par catégories

Format concis: diagrammes Mermaid + règles essentielles uniquement
2026-02-07 21:38:02 +01:00

1.6 KiB

Séquence - Suppression de compte

Diagramme

sequenceDiagram
    participant U as Utilisateur
    participant API as Backend API
    participant DB as PostgreSQL
    participant E as Email
    participant J as Job Quotidien

    U->>API: DELETE /account (demande suppression)
    API->>DB: UPDATE account_status=grace_period
    API->>DB: UPDATE deletion_requested_at=NOW()
    API->>DB: UPDATE sessions.revoked_at=NOW() (toutes)
    API->>DB: UPDATE contents (cachés, non diffusés)
    API->>E: Email avec lien annulation (30j)
    API-->>U: Compte désactivé

    alt Utilisateur change d'avis
        U->>API: GET /account/cancel-deletion (lien email)
        API->>DB: UPDATE account_status=active
        API->>DB: UPDATE deletion_requested_at=NULL
        API->>DB: Réactivation contenus
        API->>E: Email confirmation annulation
        API-->>U: Compte réactivé
    else Après 30 jours
        J->>DB: SELECT users WHERE grace_period > 30j
        J->>DB: UPDATE account_status=deleted
        J->>DB: Anonymisation données (email, pseudo...)
        J->>DB: UPDATE contents.creator="Utilisateur supprimé"
        J->>DB: DELETE listening_history, location_history, sessions
        J->>DB: Conservation contenus anonymisés
        J-->>DB: Suppression complète
    end

Légende

Grace period : 30 jours pour annuler Annulation : Via lien email unique Anonymisation :

  • Données perso supprimées (email, pseudo, GPS...)
  • Contenus conservés anonymes (intérêt communauté)
  • Irréversible après 30j

Alternative : Purge auto inactivité 5 ans (notifications 90j/30j/7j avant)