namespace QYZH.InteractiveMagazine.Models.Dto;


/// <summary>
/// 管理员登录输入
/// </summary>
public class AdminLoginInput
{
    /// <summary>
    /// 用户名
    /// </summary>
    public string UserName { get; set; } = string.Empty;

    /// <summary>
    /// 密码
    /// </summary>
    public string Password { get; set; } = string.Empty;
}

public class AdminLoginOutput
{
    public string Token { get; set; } = string.Empty;

    public long UserId { get; set; }

    public string UserName { get; set; } = string.Empty;

    public string Type { get; set; } = string.Empty;

    /// <summary>
    /// 角色ID集合
    /// </summary>
    public List<long> RoleIds { get; set; } = [];

    /// <summary>
    /// 角色集合
    /// </summary>
    public List<AdminRoleSimpleOutput> Roles { get; set; } = [];

    /// <summary>
    /// 菜单树
    /// </summary>
    public List<AdminMenuOutput> Menus { get; set; } = [];

    /// <summary>
    /// 权限编码集合
    /// </summary>
    public List<string> PermissionCodes { get; set; } = [];
}

public class AdminUserInfoOutput
{
    public long UserId { get; set; }

    public string UserName { get; set; } = string.Empty;

    public string Type { get; set; } = string.Empty;

    public int Status { get; set; }

    /// <summary>
    /// 角色ID集合
    /// </summary>
    public List<long> RoleIds { get; set; } = [];

    /// <summary>
    /// 角色集合
    /// </summary>
    public List<AdminRoleSimpleOutput> Roles { get; set; } = [];

    /// <summary>
    /// 菜单树
    /// </summary>
    public List<AdminMenuOutput> Menus { get; set; } = [];

    /// <summary>
    /// 权限编码集合
    /// </summary>
    public List<string> PermissionCodes { get; set; } = [];
}
