Aggregate

User <Aggregate Root>

Свойство Тип Комментарий
Id UUID Уникальный идентификатор
Email Email
Phone number Phone Number
Password hash text Хэш пароля
Created date Date time with offset
Updated date Date time with offset

Email

Свойство Тип Комментарий
Value text Адрес электронной почты пользователя. Значение проверяется с использованием регулярного выражения: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$ (проверка корректности формата электронной почты, включая символы, домен и зону). Должен быть без пустых символов, и в нижнем регистре.

Phone Number

Свойства/Действия Тип Комментарий
Value text Номер телефона пользователя. Значение проверяется на соответствие международному формату E.164.

Use cases

Регистрация пользователя с помощью почты и пароля

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

Алгоритм:

  1. Система ищет токен подтверждения в базе данных
  2. Проверяет валидность токена:
  3. Если токен невалидный → выбрасывается ошибка "Token is not valid"
  4. Если токен валидный → создается новый пользователь с email и паролем
  5. Пользователь сохраняется в базу данных