using System;
using System.Collections.Generic;

namespace HoneyBox.Admin.Models.Role;

/// <summary>
/// 角色详情 DTO
/// </summary>
public class RoleDto
{
    /// <summary>
    /// 角色ID
    /// </summary>
    public long Id { get; set; }

    /// <summary>
    /// 角色名称
    /// </summary>
    public string Name { get; set; } = null!;

    /// <summary>
    /// 角色编码
    /// </summary>
    public string Code { get; set; } = null!;

    /// <summary>
    /// 角色描述
    /// </summary>
    public string? Description { get; set; }

    /// <summary>
    /// 排序号
    /// </summary>
    public int SortOrder { get; set; }

    /// <summary>
    /// 状态：0禁用 1启用
    /// </summary>
    public byte Status { get; set; }

    /// <summary>
    /// 是否系统角色
    /// </summary>
    public bool IsSystem { get; set; }

    /// <summary>
    /// 创建时间
    /// </summary>
    public DateTime CreatedAt { get; set; }

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

    /// <summary>
    /// 关联的菜单ID列表
    /// </summary>
    public List<long> MenuIds { get; set; } = new();

    /// <summary>
    /// 关联的权限ID列表
    /// </summary>
    public List<long> PermissionIds { get; set; } = new();
}
