using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace FinlyticBackend.Entities; [Table("users")] public class UserEntity { [Key] public Guid Id { get; set; } = Guid.NewGuid(); [Required] [MaxLength(150)] public string Email { get; set; } = string.Empty; [Required] public string PasswordHash { get; set; } = string.Empty; [MaxLength(100)] public string FullName { get; set; } = string.Empty; [Required] [MaxLength(30)] public string Role { get; set; } = "User"; // "Admin" | "User" public bool IsActive { get; set; } = true; public bool RequiresPasswordChange { get; set; } = false; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime? LastLoginAt { get; set; } [MaxLength(50)] public string ThemePreference { get; set; } = "dark_classic"; public List DeviceTokens { get; set; } = new(); }