Назначение
Публикуется после успешного создания пользователя, назначения ролей, привязки identity providers и сохранения контактных данных. Содержит полный snapshot пользователя на момент создания. Отправляется через Outbox после commit транзакции.
Message Contract
| Поле | Тип | Обязательное | Описание |
|---|
| UserId | Guid | Да | Идентификатор пользователя |
| TenantId | Guid | Да | Идентификатор тенанта |
| Description | string? | Нет | Описание |
| Email | string | Да | Email |
| PhoneNumber | string? | Нет | Номер телефона |
| Name | FullName | Да | Полное имя |
| Roles | IReadOnlyCollection<UserRoleEventItem> | Да | Роли |
| Identities | IReadOnlyCollection<UserIdentityEventItem> | Да | Identity providers |
| Contacts | IReadOnlyCollection<UserContactEventItem> | Да | Контакты |
Топик
- Topic:
identity.after-user-created
- Партиции: 6
- ReplicationFactor: 1
- Outbox: Да
Вложенные модели
UserRoleEventItem
| Поле | Тип | Описание |
|---|
| RoleId | long | ID роли |
| RoleName | string | Название роли |
UserIdentityEventItem
| Поле | Тип | Описание |
|---|
| IdentityId | Guid | ID связи |
| IdentityProvider | IdentityProvider | Провайдер |
| ProviderUserId | string | ID у провайдера |
| Поле | Тип | Описание |
|---|
| ContactId | Guid | ID контакта |
| Value | string | Значение |
| ContactInfoType | ContactInfoTypeEventHandbookModel | Тип контакта |
| Поле | Тип | Описание |
|---|
| Id | int | ID типа |
| Code | string | Код |
| Name | string | Название |
| Description | string? | Описание |
| IconFileId | Guid? | ID иконки |
Бизнес-правила
- Публикуется после commit транзакции создания пользователя.
- Содержит полный snapshot (роли, identities, контакты).
- Событие не содержит поля Status.