Couchbase Sync Function - Как я могу получить всех пользователей, которые имеют доступ к каналу в рамках функции синхронизации

Я хотел бы получить все идентификаторы пользователей, которые имеют доступ к каналу из шлюза синхронизации. Например, если я предоставлю двум разным пользователям доступ к каналу. Затем приходит новый документ, который будет назначен этому каналу, я хотел бы получить массив пользователей, которые имеют доступ к этому каналу в первую очередь.

Мне нужен массив пользователей, которые имеют доступ к этому каналу, чтобы я мог отправлять APNS (push-уведомление яблок) пользователям этого канала при поступлении документа, который будет добавлен в этот канал.

В идеале было бы неплохо, если бы я мог просто сделать

{
   var usr_arr = channel(the_channel).users();
}

1 ответ

Эта возможность в настоящее время не существует в Sync Gateway (начиная с версии 2.0).

Вы можете сопоставить пользователей с каналами, поэтому я решил это (также для использования с push-уведомлениями), чтобы построить обратную карту путем сканирования пользователей и получения каналов, к которым у них есть доступ. Затем я обновляю ленту изменений шлюза синхронизации. Ищите идентификаторы записей, которые начинаются с _user/,

Это служит двойной цели: я также слушаю ленту изменений для мутаций в документах с обозначением канала. Затем я отправляю уведомление пользователям, имеющим доступ к этому каналу, для запуска репликации, вместо того, чтобы репликации всегда были включены.

Другие вопросы по тегам