Endpoint: GetUserProfile
Профиль текущего пользователя для инициализации UI: ФИО, логин и UI-claims (ключ icd/ui). Пользователь определяется по токену. Поведение — GetUserProfileHandler.
1. Транспорт
GET /api/Auth/GetUserProfile — параметров нет: пользователь определяется по токену.
Требует аутентификации. Фронт зовёт его при старте (после наличия токена), чтобы построить
меню/действия по правам.
В Payload.Claims отдаются только UI-claims (значения ключа icd/ui); ключи cqrs/*
фронту не нужны и не передаются. Суперпользователю приходит */*.
2. Endpoint
/// <summary>Endpoint выдачи профиля.</summary>
public class GetUserProfileEndpoint
{
public GetUserProfileQuery? Input { get; set; }
public GetUserProfileResult? Output { get; set; }
}
3. Query
/// <summary>Запрос профиля (без параметров — пользователь по токену).</summary>
public class GetUserProfileQuery : BasedQuery
{
}
4. Result
/// <summary>Результат — профиль в поле Payload.</summary>
public class GetUserProfileResult : BasedResult
{
public UserProfilePayload? Payload { get; init; }
}
5. Payload
/// <summary>Профиль текущего пользователя.</summary>
public class UserProfilePayload
{
public Guid UserId { get; init; }
/// <summary>ФИО пользователя.</summary>
public string FullName { get; init; } = "";
/// <summary>Логин.</summary>
public string Login { get; init; } = "";
/// <summary>UI-claims (значения ключа icd/ui) — по ним фронт скрывает недоступное.</summary>
public string[] Claims { get; init; } = new string[0];
}
Структурные связи
Использует
- Handler Handler: GetUserProfile
Используется
- Handler Handler: GetUserProfile