CurrentUserMenuPermissionsOutputDto.cs 1.04 KB
namespace FoodLabeling.Application.Contracts.Dtos.AuthSession;

/// <summary>
/// 当前登录用户的菜单与权限码(用于前端动态路由/按钮权限)
/// </summary>
public class CurrentUserMenuPermissionsOutputDto
{
    public CurrentUserBriefDto User { get; set; } = new();

    public List<string> RoleCodes { get; set; } = new();

    public List<string> PermissionCodes { get; set; } = new();

    public List<CurrentUserMenuNodeDto> Menus { get; set; } = new();

    /// <summary>
    /// 用户资料最后更新时间(User.LastModificationTime,无则前端可忽略或展示「无」)
    /// </summary>
    public DateTime? LastUpdated { get; set; }

    /// <summary>
    /// 角色展示名(多角色英文逗号拼接;与 <see cref="RoleCodes"/> 对应的库中 RoleName)
    /// </summary>
    public string Role { get; set; } = string.Empty;

    /// <summary>
    /// 全名:优先姓名(User.Name),其次昵称(Nick),最后用户名
    /// </summary>
    public string FullName { get; set; } = string.Empty;
}