1.7 KiB
Raw Blame History

Communications module

communications — внутреннее Django-приложение EUSRR для чатов, сообщений, вложений, реакций, опросов и object-bound discussions.

Контракты

Структура

  • models.py — chats, membership, messages, attachments, reactions, polls и read state;
  • api/ — DRF viewsets, serializers и permissions;
  • consumers.py — ChatConsumerMixin, подключённый к realtime.UserConsumer;
  • notifications/ — адаптер chat events к общей системе notifications;
  • services/ — операции, которые не должны жить во viewset/consumer;
  • management/commands/ — проверка и обслуживание данных чатов.

REST prefix: /api/v1/communications/. WebSocket endpoint общий для проекта: /ws/.

Проверка

cd backend
pytest tests/api/v1/communications tests/realtime -q

Manifest pyproject.toml нужен для проверки границ приложения. Публикация пакета в PyPI не является частью текущего workflow; URL и metadata manifest-а нельзя считать release configuration.