Создана объектно-ориентированная архитектура для отправителей: Новая структура: - BaseNotificationSender - абстрактный базовый класс - EmailNotificationSender(BaseNotificationSender) - WebSocketNotificationSender(BaseNotificationSender) - PushNotificationSender(BaseNotificationSender) Преимущества: ✅ Единый интерфейс send() для всех каналов ✅ can_send() - проверка возможности отправки ✅ Унифицированное логирование (log_success, log_error, log_skip) ✅ Легко расширять новыми каналами ✅ Переиспользуемость кода Изменения: - notifications/senders/base.py - базовый класс - notifications/senders/email.py - email отправитель (упрощен) - notifications/senders/websocket.py - WebSocket отправитель - notifications/senders/push.py - Web Push отправитель - notifications/channels.py - обновлен для использования классов Старые функции send_* сохранены для обратной совместимости (deprecated)
15 lines
410 B
Python
15 lines
410 B
Python
"""
|
|
Отправители уведомлений по различным каналам
|
|
"""
|
|
from .base import BaseNotificationSender
|
|
from .email import EmailNotificationSender
|
|
from .websocket import WebSocketNotificationSender
|
|
from .push import PushNotificationSender
|
|
|
|
__all__ = [
|
|
'BaseNotificationSender',
|
|
'EmailNotificationSender',
|
|
'WebSocketNotificationSender',
|
|
'PushNotificationSender',
|
|
]
|