Entites

Liste complete des entites de Place API avec leurs proprietes et relations

Entites

Module Identity

User

Entite principale representant un utilisateur. Herite de IdentityUser<Guid> (ASP.NET Identity).

Namespace : Identity.EntitiesInterfaces : IVersion, IHasDomainEvents

ProprieteTypeDescription
IdGuidIdentifiant unique (herite de IdentityUser)
UserNamestringNom d'utilisateur (herite)
EmailstringAdresse email (herite)
NormalizedEmailstringEmail normalise pour les recherches (herite)
EmailConfirmedboolEmail confirme (herite)
PhoneNumberstring?Numero de telephone (herite)
PhoneNumberConfirmedboolTelephone confirme (herite)
TwoFactorEnabledbool2FA active (herite)
LockoutEnabledboolLockout active (herite)
LockoutEndDateTimeOffset?Fin du lockout (herite)
AccessFailedCountintNombre de tentatives echouees (herite)
FirstNamestring?Prenom
LastNamestring?Nom de famille
PassPortNumberstring?Numero de passeport
IsActiveboolCompte actif (defaut: true)
ImageUrlstring?URL de l'avatar
LastPasswordChangeDateDateTime?Date du dernier changement de mot de passe
CreatedAtDateTimeDate de creation (defaut: DateTime.UtcNow)
LastLoginAtDateTime?Date de derniere connexion
VersionlongVersion pour le controle de concurrence optimiste

Methodes de domaine :

// Methode factory pour l'inscription
public static User Register(string username, string normalizedEmail,
    string? firstName, string? lastName, string? imageUrl);

// Enregistre un login et emet UserLoggedInEvent
public void RecordLogin();

// Met a jour la date de changement de mot de passe
public void RecordPasswordChange();

// Active le compte et emet UserActivatedEvent
public void Activate(string? reason);

// Desactive le compte et emet UserDeactivatedEvent
public void Deactivate(string? reason);

// Remplit le profil depuis un provider social (ne remplace pas les valeurs existantes)
public void FillSocialProfile(string? firstName, string? lastName, string? imageUrl);

UserSession

Represente une session active avec gestion de la rotation de tokens et detection de replay.

Namespace : Identity.EntitiesInterface : IHasDomainEvents

ProprieteTypeDescription
IdSessionIdIdentifiant de session (value object)
UserIdUserIdUtilisateur proprietaire (value object)
RefreshTokenHashHashedTokenHash HMAC-SHA256 du refresh token courant
PreviousRefreshTokenHashHashedToken?Hash du token precedent (window de grace)
TokenFamilyIdTokenFamilyIdFamille de tokens pour revocation en cascade
IpAddressstring?Adresse IP a la creation
UserAgentstring?User-Agent a la creation
DeviceIdstring?Identifiant de l'appareil
DeviceTypeDeviceType?Type d'appareil (Mobile, Desktop, Tablet, Bot)
Browserstring?Navigateur detecte via UAParser
OperatingSystemstring?Systeme d'exploitation detecte
CreatedAtDateTimeDate de creation
LastActivityAtDateTimeDerniere activite (mise a jour a chaque rotation)
ExpiresAtDateTimeDate d'expiration de la session
RevokedAtDateTime?Date de revocation (null si active)
RevocationReasonRevocationReason?Raison de la revocation

Methodes internes :

internal static UserSession Create(NewSessionData data, DateTime createdAt);
internal bool Revoke(RevocationReason? reason, DateTime revokedAt);
internal void UpdateActivity(HashedToken newRefreshTokenHash, DateTime now);

Role

Namespace : Identity.EntitiesHerite de : IdentityRole<Guid>, IVersion

ProprieteTypeDescription
Descriptionstring?Description du role
VersionlongVersion

OtpRecord

Code OTP a usage unique pour les verifications (email, mot de passe, telephone).

Namespace : Identity.Entities

ProprieteTypeDescription
IdGuidIdentifiant
UserIdGuidUtilisateur cible
CodeHashstringHash du code OTP
TokenFingerprintstring?Empreinte du token associe
PurposestringObjectif (email_confirm, password_reset, etc.)
ExpiresAtDateTimeDate d'expiration
AttemptsintNombre de tentatives de validation
IsUsedboolCode deja consomme
CreatedAtDateTimeDate de creation

TwoFactorChallenge

Challenge temporaire pour l'authentification a deux facteurs.

Namespace : Identity.Entities

ProprieteTypeDescription
IdGuidIdentifiant
UserIdGuidUtilisateur
TokenFingerprintstringEmpreinte du token
TokenHashstringHash du token de challenge
ExpiresAtDateTimeExpiration
AttemptsintTentatives
IsConsumedboolChallenge deja utilise
CreatedAtDateTimeDate de creation

Group / GroupRole / UserGroup

Systeme de groupes pour l'attribution collective de roles.

Group :

ProprieteType
IdGuid
Namestring
Descriptionstring?
CreatedAtDateTime

GroupRole (association) :

ProprieteType
GroupIdGuid
RoleIdGuid

UserGroup (association) :

ProprieteType
UserIdGuid
GroupIdGuid
JoinedAtDateTime

PasswordHistory

Historique des mots de passe pour empecher la reutilisation.

ProprieteTypeDescription
IdGuidIdentifiant
UserIdGuidUtilisateur
PasswordHashstringHash du mot de passe
CreatedAtDateTimeDate d'enregistrement

PushToken

Token de notification push associe a un appareil.

ProprieteTypeDescription
IdGuidIdentifiant
UserIdGuidUtilisateur
TokenstringToken push
PlatformstringPlateforme (iOS, Android)
DeviceIdstring?Identifiant de l'appareil
CreatedAtDateTimeDate de creation
UpdatedAtDateTimeDerniere mise a jour

IdempotencyRecord

Enregistrement d'idempotence pour les requetes POST/PUT.

ProprieteTypeDescription
IdGuidIdentifiant
KeystringCle d'idempotence (header client)
RequestIdentitystringIdentite de la requete
RequestBodyHashstringHash du corps de la requete
StatusCodeintCode HTTP de la reponse cachee
ResponseBodystringCorps de la reponse en cache
CreatedAtDateTimeDate de creation
ExpiresAtDateTimeDate d'expiration

UserClaim / RoleClaim / UserLogin / UserRole

Entites ASP.NET Identity etendues avec IVersion :

  • UserClaim (IdentityUserClaim<Guid>) : claims associes a un utilisateur
  • RoleClaim (IdentityRoleClaim<Guid>) : claims associes a un role
  • UserLogin (IdentityUserLogin<Guid>) : logins externes avec ProviderEmail et LinkedAt
  • UserRole (IdentityUserRole<Guid>) : association utilisateur-role

UserSecuritySettings

Parametres de securite utilisateur (expose via GetSecuritySettings / UpdateSecuritySettings).

Module Audit

AuditLog

Enregistrement complet d'un evenement d'audit.

Namespace : Audit.Entities

ProprieteTypeDescription
IdGuidIdentifiant unique
OccurredAtUtcDateTimeMoment de l'action
ReceivedAtUtcDateTimeMoment de reception
ModuleNamestringModule source
ActionNamestringNom de l'action
EventTypestringType (activity, security, exception)
EntityTypestringType d'entite affectee
EntityIdstringIdentifiant d'entite
ActorUserIdGuid?Utilisateur acteur
ActorTypestring?Type d'acteur (user, system)
ResultstringResultat (success, failure, denied, noop)
Reasonstring?Raison en cas d'echec
SeveritystringSeverite
TenantIdstring?Identifiant de tenant
IpAddressstring?Adresse IP source
UserAgentstring?User-Agent
CorrelationIdstring?ID de correlation
RequestIdstring?ID de requete
TraceIdstring?Trace ID OpenTelemetry
SpanIdstring?Span ID OpenTelemetry
Tagsstring[]Tags
MetadataJsonstringMetadonnees JSON
TokenFingerprintSha256string?Empreinte du token JWT
SourcestringSource de l'evenement
PayloadJsonstringPayload JSON
VersionintVersion du format

Module Messaging

SentMessage

Enregistrement de chaque message envoye.

Namespace : Messaging.Entities

ProprieteTypeDescription
IdGuidIdentifiant unique
ChannelstringCanal (email, sms, push)
RecipientstringDestinataire
TemplateNamestringNom du template utilise
SubjectstringSujet
StatusMessageStatusStatut (Pending, Sent, Failed, Bounced)
ErrorMessagestring?Message d'erreur
AttemptsintNombre de tentatives
CreatedAtDateTimeDate de creation
SentAtDateTime?Date d'envoi effectif
CorrelationIdstring?ID de correlation