Classes principales

Vue d'ensemble des classes cles de Place API - entites, services et infrastructure

Classes principales

Cette section detaille les classes essentielles de Place API organisees par categorie.

Organisation

Les classes sont reparties en trois categories principales :

Entites

Les modeles de domaine qui representent les donnees persistees. Chaque module definit ses propres entites dans son dossier Entities/.

Voir les entites

Services

Les interfaces et implementations des services metier. Les interfaces sont definies dans Services/ et les implementations dans Infrastructure/Services/.

Voir les services

Infrastructure

Les composants techniques transversaux : configuration JWT, gestion des sessions, OTP, rate limiting, metriques.

Voir l'infrastructure

Diagramme de classes principal

mermaid
classDiagram
    class User {
        +Guid Id
        +string Email
        +string? FirstName
        +string? LastName
        +bool IsActive
        +DateTime CreatedAt
        +Register() User
        +RecordLogin()
        +Activate(reason)
        +Deactivate(reason)
    }

    class UserSession {
        +SessionId Id
        +UserId UserId
        +HashedToken RefreshTokenHash
        +TokenFamilyId TokenFamilyId
        +DateTime ExpiresAt
        +bool IsRevoked
        +Create(data, createdAt) UserSession
        +Revoke(reason, revokedAt)
        +UpdateActivity(newHash, now)
    }

    class AuditLog {
        +Guid Id
        +string ModuleName
        +string ActionName
        +string EventType
        +string Result
        +string Severity
        +DateTime OccurredAtUtc
    }

    class SentMessage {
        +Guid Id
        +string Channel
        +string Recipient
        +MessageStatus Status
        +DateTime CreatedAt
    }

    User "1" --> "*" UserSession : sessions
    User "1" --> "*" OtpRecord : otps
    User "1" --> "*" PasswordHistory : passwords
    User "1" --> "*" PushToken : pushTokens
    User "*" --> "*" Group : groupes