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;
}