GetStream: не допускать добавления одного и того же действия в плоский канал - PullRequest
0 голосов
/ 03 мая 2018

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

Потому что я хочу объединить лайки в одну и ту же деятельность.

user2 и user3 , лайков image1 .

user1 следуйте user2 и user3 .

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

Должен ли я справиться с этим самостоятельно, отсортировав его по внешнему ключу, а затем собрав действия в один? Или я могу как-то смешать плоский корм с агрегированным кормом?

Это Как создать новостную ленту с агрегатными и плоскими типами? похоже, но мне нужно иметь возможность следить и отписываться.

1 Ответ

0 голосов
/ 11 мая 2018

Узнав, что я могу комбинировать плоскую подачу и совокупную подачу, я придумал эту настройку:

В этом примере ниже Пользователь2 публикует иллюстрацию, что означает, что User2-feed теперь включает в себя действие, в котором отображаются его работы. Вскоре после User3 нравится его недавно опубликованная работа, а это означает, что User3-feed теперь включает в себя действие, которое показывает его работу. Пользователь1 следует Пользователь2-фид и Пользователь3-фид , которые создают Пользователь1-агрегированный фид , включающий все действия из двух каналов, которые Пользователь1 в настоящее время подписан. Это означает, что собственная деятельность User1 не будет отображаться в его собственной User1-aggregatedfeed , если только он не следует своей собственной ленте, что невозможно. Те же изображения, которые добавляются в User2-feed , также добавляются в Artist1-feed , поскольку автором произведения искусства является Artist1 . Это означает, что одна и та же обложка добавлена ​​в два канала, за которыми следует User1 . Но действие будет добавлено к User1-aggregatedfeed только один раз, потому что мы храним операцию «artwork publish» с тем же внешним ключом.

Плоская подача в сочетании с примером совокупной подачи

...