Уведомления
Платформа доставляет уведомления в реальном времени через WebSocket и по email.
Типы уведомлений
| Событие | Кому приходит |
|---|---|
| Ответ на комментарий | Автору исходного комментария |
Упоминание @username | Упомянутому пользователю |
| Реакция на пост | Автору поста |
| Реакция на комментарий | Автору комментария |
| Новый пост от автора/сообщества | Подписчикам с включёнными уведомлениями |
| Комментарий к посту с подпиской на уведомления | Подписчикам поста |
| Новый подписчик | Пользователю, на которого подписались |
| Личное сообщение | Получателю сообщения |
| Пост снят с публикации | Подписчикам поста |
| Успешная / отменённая оплата подписки | Пользователю с активной подпиской |
Подписка на уведомления автора или сообщества
Помимо подписки на ленту (POST /follows/{user}), пользователь может включить push-уведомления о новых публикациях:
- Подписаться на уведомления:
POST /notifications(передаётся автор или сообщество) - Отписаться от уведомлений:
DELETE /notifications
Доставка в реальном времени
Уведомления передаются через Laravel Reverb — WebSocket-сервер, встроенный в стек платформы.
При получении уведомления иконка колокольчика в шапке обновляется без перезагрузки страницы. Клик открывает список уведомлений.
Reverb настраивается через переменные REVERB_* в .env.
Email-уведомления
Уведомления могут дублироваться по email — если пользователь включил соответствующую настройку.
Для работы email-уведомлений необходимо настроить SMTP — см. Почта.
Настройки пользователя
Пользователь управляет уведомлениями в Настройки → Уведомления (/settings):
- Включение / выключение уведомлений по типам
- Email-уведомления: включить / отключить
Настройки хранятся в таблице user_notification_settings.
Обновление настроек: POST /settings/notification
Управление уведомлениями
| Действие | Маршрут |
|---|---|
| Получить список | GET /notifications |
| Подписаться на уведомления автора/сообщества | POST /notifications |
| Отписаться от уведомлений | DELETE /notifications |
| Отметить все как прочитанные | POST /notifications/readAll |
| Отметить все как просмотренные | POST /notifications/sawAll |