lizerk
7e410ebff8
refactor(feed): реструктуризация notifications в модульную архитектуру
Проблема:
- Монолитный notification_signals.py (~200 строк) смешивал разные concerns
- Сложно поддерживать и понимать логику уведомлений
- Отсутствовала интеграция с API для уведомлений о лайках
Решение:
Разделен на модульную структуру feed/notifications/:
- config.py - NotificationVerbs, MessageTemplates, ActionURLs, truncate_text
- handlers.py - notify_new_post(), notify_comment(), notify_post_reaction(), get_post_recipients()
- signals.py - Django signal receivers (@receiver)
- __init__.py - публичный API модуля
Изменения:
- Создан: feed/notifications/ модуль с 4 файлами
- Переименован: notification_signals.py → notification_signals.py.old
- Изменен: apps.py - обновлен импорт на feed.notifications
- Изменен: api/v1/feed/views.py - добавлен вызов notify_post_reaction() в метод like()
Преимущества:
- ✅ Единообразие с requests_app и procurement
- ✅ Четкое разделение ответственности (SRP)
- ✅ Легче тестировать отдельные компоненты
- ✅ Публичный API через __init__.py
- ✅ Уведомления о лайках теперь работают
- ✅ Централизованные шаблоны сообщений
Верификация:
- python manage.py check - успешно
2026-03-10 13:05:58 +03:00
..
2026-03-09 21:35:36 +03:00
2026-02-26 20:18:37 +03:00
2026-03-06 12:21:11 +03:00
2026-02-24 15:40:50 +03:00
2026-03-10 13:05:58 +03:00
2026-03-09 21:35:36 +03:00
2026-02-27 16:36:16 +03:00
2026-02-27 23:49:09 +03:00
2026-03-10 12:57:48 +03:00
2025-08-20 11:19:02 +03:00
2025-12-30 10:35:34 +03:00
2025-12-02 11:35:23 +03:00
2026-03-09 17:35:06 +03:00
2025-12-05 10:25:24 +03:00