CreateEmployee Saga
Назначение
Оркестрация создания сотрудника: создание пользователя в Keycloak, затем обновление UserEntity.KeycloakId (через UserIdentityEntity) в БД.
Триггеры
- CreateEmployeeCommand (Partners API)
- CreateUserCommand (Internal API, при создании с Keycloak)
- CreateUsersCommand (Internal API)
Шаги
| Шаг | Handler | Описание |
|---|---|---|
| CreateKeycloakUser | CreateKeycloakUserSagaHandler | Создание пользователя в Keycloak |
| UpdateUserKeycloakId | UpdateUserKeycloakIdSagaHandler | Сохранение Keycloak userId в UserIdentityEntity |
Payload: CreateEmployeeSagaPayload
| Поле | Тип | Описание |
|---|---|---|
| UserId | Guid | Идентификатор пользователя |
| string | ||
| PhoneNumber | string? | Телефон |
| Name | FullName | ФИО |
| KeycloakUserId | string? | ID пользователя в Keycloak (заполняется на шаге 1) |
Константы
- SagaType:
CreateEmployee - Steps: CreateKeycloakUser, UpdateUserKeycloakId
Диаграмма
Обратные ссылки
Автоссылки: где используется этот документ.
- Домен (CQRS) (1): CreateEmployeeCommand
- API (1): EmployeesController (Partners)
- Саги (1): Sagas