using System.ComponentModel.DataAnnotations; namespace SchotzIadKmTracker.Api.Models.Entities; /// Compte unique de l'application mono-utilisateur (singleton, comme le Profil). public class Compte { /// Identifiant du compte. Valeur fixe (1) non générée : le compte est un singleton. public int Id { get; set; } = 1; /// Adresse email du compte, unique, utilisée comme identifiant de connexion (1–255 caractères). [Required, MaxLength(255)] public string Email { get; set; } = string.Empty; /// Hachage salé du mot de passe (PBKDF2 via PasswordHasher). Jamais exposé ni journalisé (Exigence 8.2). [Required] public string MotDePasseHash { get; set; } = string.Empty; /// Date de création du compte (UTC). public DateTime CreatedAt { get; set; } = DateTime.UtcNow; /// Date de dernière modification du compte (UTC), mise à jour notamment lors d'une réinitialisation du mot de passe. public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; }