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
This commit is contained in:
48
docs/domains/_shared/sequences/account-deletion.md
Normal file
48
docs/domains/_shared/sequences/account-deletion.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# Séquence - Suppression de compte
|
||||
|
||||
## Diagramme
|
||||
|
||||
```mermaid
|
||||
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)
|
||||
Reference in New Issue
Block a user