GetEmployeeInformationByIdQuery
Назначение
Получение полной информации о сотруднике по UserId, включая роли через IRolesProvider (с детализацией scopes). Используется для карточки сотрудника. Требует разрешение Identity.Employees.View.
Цели
- Получить UserEntity и роли сотрудника
- Роли загружаются через rolesProvider.GetByUserId (RolesDomainModel со scopes)
Входные данные
| Поле | Тип | Обязательное | Описание |
|---|
| UserId | Guid | Да | Идентификатор пользователя |
| Поле | Тип | Обязательное | Описание |
|---|
| UserId | Guid | Да | Идентификатор пользователя |
| Name | FullName | Да | ФИО |
| Email | string | Да | Email |
| PhoneNumber | string? | Нет | Телефон |
| Roles | IReadOnlyCollection<RolesDomainModel> | Да | Роли со scopes |
Бизнес-логика
Основной сценарий
- Получить UserEntity через
userEntityRepository.FindById по UserId.
- Если не найден — ошибка «Сотрудник не найден».
- Загрузить роли через
rolesProvider.GetByUserId.
- Вернуть результат с профилем и ролями.
Альтернативные сценарии
- Сотрудник не найден: ошибка «Сотрудник не найден» с метаданными UserId.
- Ошибка rolesProvider: проброс Result от провайдера.
Диаграмма алгоритма
Связанные сущности