using ATS.NonCustodial.Shared.Common.Enums;
using System.ComponentModel.DataAnnotations;
using System.Security.Claims;
namespace ATS.NonCustodial.Shared.Common.Auth
{
///
/// 用户信息接口
///
/// Author:mxg
/// CreatedTimed:2022-05-15 10:08 PM
public interface IUser
{
///
/// 主键
///
long Id { get; }
///
/// 用户名
///
string Name { get; }
///
/// 单位Id
///
long UnitId { get; }
///
/// 部门Id
///
long DeptcodeId { get; }
///
/// 头像
///
string Avatar { get; }
///
/// 手机号
///
string Phone { get; }
///
///
///
ChatPersonTypeEnum ChatPersonType { get; }
///
/// 昵称
///
string NickName { get; }
///
/// 查询界限
///
string limits { get; }
///
/// 租户Id
///
long? TenantId { get; }
///
/// 角色Id列表
///
List RoleList { get; }
///
/// 组织机构
///
List OrgList { get; }
///
/// 租户类型(1:平台 2:租户)
///
///
TenantTypeEnum? TenantType { get; }
///
/// 数据隔离类型(1:独立数据库 2:独立数据表 3:独立架构 4:共享数据库)
///
///
DataIsolationTypeEnum? DataIsolationType { get; }
///
/// 请求的Ip地址
///
string? RemoteIpAddress { get; }
///
///
///
///
bool IsAuthenticated();
///
///
///
///
IEnumerable GetClaimsIdentity();
///
///
///
///
///
List GetClaimValueByType(string claimType);
///
///
///
///
string? GetToken();
///
///
///
///
///
List GetUserInfoFromToken(string claimType);
///
/// 注销账户
///
///
Task LoginOutAsync();
}
}