using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace DysonNetwork.Drive.Models; public class Account : ModelBase { [Key] public Guid Id { get; set; } = Guid.NewGuid(); [Required] [MaxLength(256)] public string Username { get; set; } = null!; [Required] [MaxLength(256)] public string Email { get; set; } = null!; [MaxLength(1024)] public string? DisplayName { get; set; } public bool IsActive { get; set; } = true; public bool IsVerified { get; set; } = false; // Navigation properties public virtual ICollection Files { get; set; } = new List(); // Timestamps public DateTimeOffset? LastLoginAt { get; set; } // Methods public bool HasPermission(Permission permission) { // TODO: Implement actual permission checking logic return true; } }