Services/Service-Notification.md
Назначение
Отправление уведомлений пользователям.
БД
Структура
| uuid пользователя | email_usage | |
|---|---|---|
| uuid | bool | text(128) |
- uuid пользователя - id пользователя
- email_usage - факт использования пользователем уведомлений по почте. Базовое значение - true.
- email - название почты с маской
text@text.text. Не может быть пустым. Должно быть уникальным.
Запросы к БД
- добавление пользователя
- имя функции:
add_user - параметры:
uuid пользователя и его почта - ответ:
-
- имя функции:
- обновление использования почты
- имя функции:
update_email_usage - параметры:
uuid пользователя и новое состояние использования - ответ:
-
- имя функции:
- обновление почты пользователя
- имя функции:
update_email - параметры:
uuid пользователя и новый почтовый адрес - ответ:
-
- имя функции:
- получение данных уведомления пользователя
- имя функции:
get_user_notification_data - параметры:
uuid пользователя - ответ:
email
- имя функции:
Структуры kafka
Входные
- простой запрос
{
"saga_uuid": "...",
"event_uuid": "...",
"operation_name": "...",
"additional_info": {
"user_uuid": "...",
"notification_type": "...",
"additional_info": "..."
}
}
- составной запрос:
{
"saga_uuid": "...",
"event_uuid": "...",
"operation_name": "...",
"user_data": {
"user_uuid": "...",
"email": "..."
}
}
Выходные
- удача
{
"saga_uuid": "...",
"event_uuid": "...",
"operation_name": "...",
"info": "..."
}
- ошибка
{
"saga_uuid": "...",
"event_uuid": "...",
"operation_name": "...",
"status": 0,
"info": "..."
}
- полный набор данных
{
"saga_uuid": "...",
"event_uuid": "...",
"operation_name": "...",
"data": {
"user_uuid": "...",
"email_usage": bool,
"email": "..."
}
}
Ошибки
- ошибки, связанные с grpc
201- неизвестное название операции200- невалидные пользовательские данные
- ошибки уровня бизнес логики
100- не удалось отправить уведомление на почту
- ошибки репозитория
099- другие ошибки репозитория003- нет указанного пользователя002- указанный пользователь существует001- указанная почта уже существует
Запросы
- добавить пользователя
- обновить почту пользователю
- получить данные настроек уведомлений пользователя
- отправить уведомление
Добавить пользователя
- Наименование запроса
add_user
- Описание
- добавляет пользователя в уведомления
- Интерфейс входных данных:
составной запрос
- Ответ на данный запрос:
ошибкаудача
- Возможные статусы в ошибочном результате:
201200001002
Обновить почту пользователю
- Наименование запроса
update_email
- Описание
- обновляет почту пользователя
- Интерфейс входных данных:
простой запрос
- Ответ на данный запрос:
ошибкаудача
- Возможные статусы в ошибочном результате:
201200003001
Получить данные настроек уведомлений пользователя
- Наименование запроса
get_notification_user_settings
- Описание
- возвращает настройки уведомлений пользователя
- Интерфейс входных данных:
простой запрос
- Ответ на данный запрос:
ошибкаполный набор данных
- Возможные статусы в ошибочном результате:
201200003
Отправить уведомление
- Наименование запроса
send_notification
- Описание
- отправляет уведомление пользователю
- Интерфейс входных данных:
простой запрос
- Ответ на данный запрос:
ошибкаудача
- Возможные статусы в ошибочном результате:
201200100003
Ссылка на вики репозиторий
- Страницы
- README
- Service-Accounts
- Service-ApiGateway
- Service-Notification
- Service-Registration
- Service-TOTP
- Service-Users
Ссылка на вики репозиторий