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