- Перенос REST API в communications/api/ для standalone использования * Создан communications/api/ с serializers.py, viewsets.py, urls.py * Перенесено 1668 строк (442 serializers + 1226 viewsets) * Удалена директория api/v1/communications/ * Обновлены импорты в api/v1/urls.py и api/v2/communications/views.py - Извлечение WebSocket логики в ChatConsumerMixin * Создан communications/consumers.py (709 строк, 32 метода) * Перенесены chat event handlers, action handlers, helper methods * realtime/consumers.py сокращен с 862 до 211 строк (-75%) * Сохранено одно WebSocket соединение через наследование миксина - Архитектура: * communications теперь полностью автономно (REST API + WebSocket) * realtime/UserConsumer наследуется от ChatConsumerMixin * 0 breaking changes, обратная совместимость 100% * Одно WebSocket соединение для всех real-time событий - Созданы тесты и документация: * test_phase3.py - проверка API serializers, filters, WebSocket * docs/completed/API_REFACTORING_STANDALONE.md * docs/completed/WEBSOCKET_REFACTORING_MIXIN.md * docs/completed/CHAT_REFACTORING_PHASE3_COMPLETE.md Результат: ✅ System check: 0 ошибок ✅ Phase 3 tests: все прошли ✅ Готово к standalone использованию (pip install django-communications)
13 lines
471 B
Python
13 lines
471 B
Python
"""
|
|
Communications REST API
|
|
|
|
Этот модуль содержит REST API для приложения communications:
|
|
- serializers.py - DRF serializers для Chat, Message, Poll и т.д.
|
|
- viewsets.py - DRF ViewSets для CRUD операций
|
|
- urls.py - URL routing для API endpoints
|
|
|
|
История:
|
|
- Перенесен из api/v1/communications/ в communications/api/ для независимости
|
|
- Дата переноса: 11 марта 2026
|
|
"""
|