lizerk
8182199744
refactor(communications): реструктуризация notifications в модульную архитектуру
Проблема:
- Монолитный notification_signals.py (~310 строк) смешивал разные concerns
- Сложная логика с упоминаниями, ответами и обычными сообщениями в одном файле
- Множество вспомогательных функций без четкой структуры
Решение:
Разделен на модульную структуру communications/notifications/:
- config.py - NotificationVerbs, MessageTemplates, ActionURLs, вспомогательные функции
(extract_mentions, truncate_message, get_chat_name)
- handlers.py - notify_new_message(), notify_chat_added(),
get_users_with_notifications_enabled()
- signals.py - Django signal receivers (@receiver)
- __init__.py - публичный API модуля
Изменения:
- Создан: communications/notifications/ модуль с 4 файлами
- Переименован: notification_signals.py → notification_signals.py.old
- Изменен: apps.py - обновлен импорт на communications.notifications
Логика уведомлений:
1. Упоминания (@email) - высокий приоритет
2. Ответы на сообщения - средний приоритет
3. Обычные сообщения - низкий приоритет
Преимущества:
- ✅ Единообразие с requests_app, procurement, feed
- ✅ Четкое разделение ответственности (SRP)
- ✅ ОПТИМИЗАЦИЯ: Настройки уведомлений загружаются одним запросом
- ✅ Легче тестировать компоненты
- ✅ Публичный API для переиспользования функций
- ✅ Централизованные шаблоны сообщений
Верификация:
- python manage.py check - успешно
2026-03-10 13:27:32 +03:00
..
2026-03-10 13:05:58 +03:00
2025-09-09 17:55:15 +03:00
2026-03-09 21:35:36 +03:00
2026-02-16 17:07:15 +03:00
2026-03-10 13:27:32 +03:00
2026-03-09 21:35:36 +03:00
2026-03-09 21:35:36 +03:00
2026-03-10 13:18:57 +03:00
2026-03-10 13:18:57 +03:00
2026-03-10 13:07:05 +03:00
2026-03-10 13:18:57 +03:00
2026-02-24 15:40:50 +03:00
2026-02-17 18:32:30 +03:00
2026-03-10 08:04:41 +03:00
2026-03-10 12:38:39 +03:00
2026-03-09 21:35:36 +03:00
2026-03-10 12:28:03 +03:00
2026-03-09 21:35:36 +03:00
2026-03-10 13:18:57 +03:00
2026-02-27 16:36:16 +03:00
2026-02-27 16:36:16 +03:00
2026-03-06 12:21:11 +03:00
2025-07-30 08:15:53 +03:00
2025-09-03 17:17:44 +03:00
2025-07-30 08:15:53 +03:00
2026-02-17 18:34:16 +03:00
2026-02-24 15:40:50 +03:00
2026-03-05 11:49:55 +03:00
2026-03-06 19:01:27 +03:00
2026-02-26 20:18:37 +03:00
2026-01-06 07:48:04 +03:00