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

namespace iyixiGames.Domain.Entities
{
    public class Role
    {
        public int Id { get; set; } // 角色ID

        public string Name { get; set; } = string.Empty; // 角色名称，例如 "Administrator", "Editor", "Viewer"

        public string Description { get; set; } = string.Empty; // 角色描述

        public bool IsActive { get; set; } = true; // 角色是否启用

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

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

        // 导航属性：一个角色可以有多个用户
        public ICollection<UserRole> UserRoles { get; set; } = new List<UserRole>();

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