using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; namespace SkyArtShop.Models; public class AdminUser { [BsonId] [BsonRepresentation(BsonType.ObjectId)] public string? Id { get; set; } [Required] [EmailAddress] public string Email { get; set; } = string.Empty; [Required] public string PasswordHash { get; set; } = string.Empty; [Required] public string Name { get; set; } = string.Empty; [Required] public string Role { get; set; } = "Admin"; public List Permissions { get; set; } = new List(); public bool IsActive { get; set; } = true; public bool PasswordNeverExpires { get; set; } = true; public DateTime? PasswordExpiresAt { get; set; } public string CreatedBy { get; set; } = string.Empty; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime? LastLogin { get; set; } public string Phone { get; set; } = string.Empty; public string Notes { get; set; } = string.Empty; }