Classes principales
Cette section detaille les classes essentielles de Place API organisees par categorie.
Les classes sont reparties en trois categories principales :
Les modeles de domaine qui representent les donnees persistees. Chaque module definit ses propres entites dans son dossier Entities/.
Voir les entites
Les interfaces et implementations des services metier. Les interfaces sont definies dans Services/ et les implementations dans Infrastructure/Services/.
Voir les services
Les composants techniques transversaux : configuration JWT, gestion des sessions, OTP, rate limiting, metriques.
Voir l'infrastructure
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