rp-chats
Назначение
Комнаты чатов, их участники и контексты для каждой комнаты. Самой переписки
здесь нет: комната содержит , а сообщения находятся вthreadId.rp-threads
Граница ответственности
Отвечает за комнаты, роли и контексты. Не вызывает другие репозитории — создаёт createRoom и возвращает его, а вызывающий код регистрируетthreadId
тред.
Идентификация и доступ
Вызывающий код получает идентификатор из проверенного токена, а не из
параметра. Стоит отметить два следствия:
ограничивает область выборки вызывающим кодом внутри запроса, поэтому подстановка идентификатора другогоlistRooms
пользователя больше не позволяет прочитать его комнаты, ане может раскрыть количество комнат,totalCount
которые были скрыты;- любой запрос к одной комнате по идентификатору сначала проверяет членство.
сохраняется и после появления chart_room_users: тег выражаетaccess_tags
членство, но не различает , owner и admin.member
Примечание об именах таблиц
Таблицы называются / chart_rooms. Опечаткаchart_room_users
последовательно воспроизводится в миграциях, сущностях и запросах, поэтому код
работает; переименование — это миграция, а не редактирование.
Прямые зависимости модуля
,back-core,nrpcg-chats
Принадлежность к решению
communications
Исходный код
modules/repositories/communications/rp-chats