Избегание дубликатов в разных каналах с помощью getstream.io - PullRequest
0 голосов
/ 11 апреля 2019

Допустим, я хочу создать систему, в которой каждый пользователь имеет доступ к каналу уведомлений и агрегированному каналу, со следующими группами:

  • пользователь как плоский канал
  • хештег в виде плоского канала
  • уведомление в качестве канала уведомления
  • график времени в качестве агрегированного канала

У нас также есть следующие отношения:

  1. пользователь: b следует хэштег: a
  2. user: b следует user: a

Теперь рассмотрим следующую ситуацию:

Если пользователь A публикует хэштег A, я бы хотел пользователя Bполучить активность в своем фиде уведомлений (благодаря отношению 1).Но я также хотел бы, чтобы все последователи пользователя A увидели в своей шкале времени, что пользователь A что-то сделал.Затем пользователь B получит активность в своем фиде уведомлений и в своей временной шкале (из-за отношения 2): есть дубликат.

Есть ли способ избежать этой ситуации?

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

Большое спасибо!

1 Ответ

1 голос
/ 15 апреля 2019

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

Это обычно то, что вы используете, чтобы не показывать свои действия в фиде уведомлений.

Вот ссылка на документацию по правилам сброса: https://getstream.io/docs/#discard-rules

...