using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace back.DataModels; [Table("Users")] public class UserModel : PersonModel { [Required] public string Email { get; set; } [Required, MinLength(8)] public string Password { get; set; } public List Role { get; set; } public UserModel(string id, string email, string password, string name, List role, DateTime createdAt, DateTime updatedAt) : base(id, name) { Email = email; Password = password; Role = role; CreatedAt = createdAt; UpdatedAt = updatedAt; } public bool IsAdmin => Role.Exists(r => r.IsAdmin); public bool IsContentManager => Role.Exists(r => r.IsContentManager); public bool IsUser => Role.Exists(r => r.IsUser); public static readonly UserModel DefaultUser = new( "0", "default@example.com", string.Empty, "Default User", [RoleModel.UserRole], DateTime.UtcNow, DateTime.UtcNow ); }