lizerk
|
af423d8d0a
|
feat(procurement): tighten approval flow and request actions
|
2026-04-13 02:55:26 +03:00 |
|
lizerk
|
ae7e1daf89
|
refactor(frontend): align profile, notifications and procurement flows
|
2026-04-12 18:02:47 +03:00 |
|
lizerk
|
2815efe069
|
chore: finalize backend lint cleanup
|
2026-03-31 17:53:29 +03:00 |
|
lizerk
|
46e7059a40
|
refactor(procurement): удаление дублирующего WebSocket модуля
Проблема:
- procurement/notifications/websocket.py дублировал функциональность
- Прямые вызовы channel_layer.group_send() обходили универсальную систему
- Нарушение единообразия использования notifications
Решение:
- Удален websocket.py модуль
- WebSocket уведомления теперь отправляются через универсальную систему:
notify.send() → channels.py → Celery → WebSocketNotificationSender
Преимущества:
- ✅ Единообразие архитектуры (как в requests_app)
- ✅ Все каналы (WebSocket, Email, Push) через одну систему
- ✅ Автоматический retry и rate limiting
- ✅ Централизованное логирование
- ✅ Меньше кода для поддержки
Изменения:
- Удален: notifications/websocket.py
- Обновлен: notifications/signals.py (удалены broadcast вызовы)
- Обновлен: notifications/__init__.py (удалены импорты websocket)
|
2026-03-10 12:37:49 +03:00 |
|
lizerk
|
16c5f2023a
|
refactor(procurement): реструктуризация notifications в модульную архитектуру
- Создана папка backend/procurement/notifications/ вместо одного signals.py
- Разделена логика на специализированные модули:
* config.py - типы уведомлений (verbs) и шаблоны сообщений
* handlers.py - бизнес-логика отправки уведомлений
* signals.py - только Django сигналы
* websocket.py - WebSocket broadcast для real-time обновлений
* __init__.py - публичный API модуля
Преимущества новой структуры:
- ✅ Четкое разделение ответственности (SRP)
- ✅ WebSocket логика отделена от уведомлений
- ✅ Все шаблоны сообщений в одном месте (MessageTemplates)
- ✅ Константы verbs централизованы (NotificationVerbs)
- ✅ Легче тестировать и расширять
- ✅ Обратная совместимость через __init__.py
Изменения:
- Удален: signals.py (сохранен как .old для истории)
- Добавлен: notifications/ модуль с 5 файлами
- Обновлен: apps.py (новый импорт сигналов)
|
2026-03-10 12:34:05 +03:00 |
|