Перейти к основному содержимому

GetEmployeeInformationByIdQuery

Назначение

Получение полной информации о сотруднике по UserId, включая роли через IRolesProvider (с детализацией scopes). Используется для карточки сотрудника. Требует разрешение Identity.Employees.View.

Цели

  • Получить UserEntity и роли сотрудника
  • Роли загружаются через rolesProvider.GetByUserId (RolesDomainModel со scopes)

Query: GetEmployeeInformationByIdQuery

Входные данные

ПолеТипОбязательноеОписание
UserIdGuidДаИдентификатор пользователя

Result: GetEmployeeInformationByIdQueryResult

ПолеТипОбязательноеОписание
UserIdGuidДаИдентификатор пользователя
NameFullNameДаФИО
EmailstringДаEmail
PhoneNumberstring?НетТелефон
RolesIReadOnlyCollection<RolesDomainModel>ДаРоли со scopes

Бизнес-логика

Основной сценарий

  1. Получить UserEntity через userEntityRepository.FindById по UserId.
  2. Если не найден — ошибка «Сотрудник не найден».
  3. Загрузить роли через rolesProvider.GetByUserId.
  4. Вернуть результат с профилем и ролями.

Альтернативные сценарии

  • Сотрудник не найден: ошибка «Сотрудник не найден» с метаданными UserId.
  • Ошибка rolesProvider: проброс Result от провайдера.

Диаграмма алгоритма

Связанные сущности