// iyixiGames.Domain/Entities/User.cs
using System;
using System.Collections.Generic;

namespace iyixiGames.Domain.Entities
{
    public class User
    {
        public int Id { get; set; } // 用户ID

        public string Username { get; set; } = string.Empty; // 用户名 (唯一)

        public string PasswordHash { get; set; } = string.Empty; // 密码哈希值 (存储加密后的密码)

        public string Salt { get; set; } = string.Empty; // 密码盐值 (用于密码哈希)

        public string Email { get; set; } = string.Empty; // 邮箱地址 (可选，可用于找回密码或通知)

        public string FullName { get; set; } = string.Empty; // 真实姓名或昵称

        public bool IsActive { get; set; } = true; // 账号是否启用

        public DateTime CreatedAt { get; set; } = DateTime.UtcNow; // 创建时间

        public DateTime? LastLoginAt { get; set; } // 上次登录时间

        public DateTime? UpdatedAt { get; set; } // 更新时间

        // 导航属性：一个用户可以有多个角色（通过中间表关联）
        public ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();
    }
}