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

LookupEmployeeByIdQuery

Назначение

Lookup-получение карточки сотрудника по идентификатору пользователя. Используется для выпадающих списков и выбора сотрудника по ID. Требует разрешение Identity.Employees.View.

Цели

  • Получить информацию о сотруднике по UserId
  • Загрузить роли пользователя (UserRoleReferenceEntity, RoleEntity)

Query: LookupEmployeeByIdQuery

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

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

Result: LookupEmployeeByIdQueryResult

ПолеТипОбязательноеОписание
EntryLookupEmployeeByIdQueryResultEntryДаКарточка сотрудника

LookupEmployeeByIdQueryResultEntry

ПолеТипОбязательноеОписание
UserIdGuidДаИдентификатор пользователя
CreatedAtDateTimeOffsetДаДата создания
EmailstringДаEmail
PhoneNumberstring?НетТелефон
NameFullNameДаФИО
StatusUserStatusДаСтатус пользователя
RolesIReadOnlyCollection<string>ДаНазвания ролей

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

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

  1. Получить UserEntity через userEntityRepository.FindById по UserId.
  2. Если не найден — ошибка «Сотрудник не найден».
  3. Загрузить UserRoleReferenceEntity через userRoleReferenceEntityRepository.GetByUserIds.
  4. Загрузить RoleEntity через roleEntityRepository.GetByIds.
  5. Сформировать Entry с ФИО, контактами, статусом и названиями ролей.
  6. Вернуть результат.

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

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

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

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