Условно публиковать события

Вступление

Я создаю систему личных сообщений с использованием парусов, но этот вопрос может относиться практически ко всему. Я буду использовать систему обмена сообщениями в качестве примера, чтобы прояснить вопрос. В качестве справочной информации, я работаю с последними парусами 0.10 RC.

Эта проблема

Sails позволяет использовать Redis для сессий и Pubsub, что позволяет масштабировать на нескольких серверах. Это все очень аккуратно и прекрасно работает, но это оставляет меня с вопросом окак публиковать события для конкретных подключенных сокетов (клиентов).

Иногда вы хотите публиковать события только для участников, как в случае с системой личных сообщений. Только автор и получатель должны быть уведомлены о новых сообщениях в ветке. Как бы вы достигли этого? Я знаю, что вы можете подписать клиента на конкретный экземпляр модели, уведомляя клиента об изменениях в указанной модели; Я также знаю, что можно подписать клиента на модель, уведомляя его о вновь созданных (сохраненных) экземплярах модели. Это последнее,create глагол, который причиняет мне немного неприятностей. Я не хочу, чтобы все, кто использует систему обмена сообщениями, получали обновления для новых сообщений в темах, в которых их нет. Это было бы проблемой конфиденциальности.

TL; DR

Как я могу отфильтровать, какие клиенты получаютcreate событие глагола, основанное на значении свойства (author а такжеrecipient) на модель, о которой идет речь? Есть ли другой способ убедиться, что только эти клиенты получают обновления для модели?

Ответы на вопрос(1)

Ваш ответ на вопрос