namespace YBEE.EQM.Application;

/// <summary>
/// 登录认证返回输出参数
/// </summary>
public class AuthOutput
{
    /// <summary>
    /// 机构名
    /// </summary>
    [Required]
    public string OrgName { get; set; }
    /// <summary>
    /// 用户名
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 登录名
    /// </summary>
    [Required]
    public string Account { get; set; }
    /// <summary>
    /// 是否已激活
    /// </summary>
    [Required]
    public bool IsActivated { get; set; }
    /// <summary>
    /// TOKEN
    /// </summary>
    public string AccessToken { get; set; }
}

/// <summary>
/// 用户登录输出参数
/// </summary>
public class LoginOutput
{
    /// <summary>
    /// 用户ID
    /// </summary>
    [Required]
    public int Id { get; set; }

    /// <summary>
    /// 机构ID
    /// </summary>
    [Required]
    public short SysOrgId { get; set; }

    /// <summary>
    /// 名称
    /// </summary>
    [Required]
    public string Name { get; set; }
    /// <summary>
    /// 头像地址
    /// </summary>
    public string Avatar { get; set; }
    /// <summary>
    /// 手机
    /// </summary>
    public string Mobile { get; set; }
    /// <summary>
    /// 电子邮箱
    /// </summary>
    public string Email { get; set; }
    /// <summary>
    /// 备注
    /// </summary>
    public string Remark { get; set; }

    /// <summary>
    /// 账号
    /// </summary>
    [Required]
    public string Account { get; set; }

    /// <summary>
    /// 用户自定义配置
    /// </summary>
    public string Config { get; set; }

    /// <summary>
    /// 最后登录IP
    /// </summary>
    public string LastLoginIp { get; set; }

    /// <summary>
    /// 最后登录时间
    /// </summary>
    public DateTime? LastLoginTime { get; set; }

    /// <summary>
    /// 最后登陆所用浏览器
    /// </summary>
    public string LastLoginBrowser { get; set; }

    /// <summary>
    /// 最后登陆所用系统
    /// </summary>
    public string LastLoginOs { get; set; }

    /// <summary>
    /// 机构信息
    /// </summary>
    public SysOrgLiteOutput SysOrg { get; set; }
    /// <summary>
    /// 角色信息
    /// </summary>
    public List<SysRoleOutput> SysRoles { get; set; } = new List<SysRoleOutput>();
    /// <summary>
    /// 权限信息
    /// </summary>
    public List<string> Permissions { get; set; } = new List<string>();
    /// <summary>
    /// 系统所有权限信息
    /// </summary>
    public List<string> AllPermissions { get; set; } = new List<string>();
    /// <summary>
    /// 登录菜单信息---AntDesign版本菜单
    /// </summary>
    public List<AntMenuOutput> Menus { get; set; } = new List<AntMenuOutput>();
}