Angular / NodeJS Getstream.io Создать кнопку «Подписаться / Отменить подписку» - PullRequest
0 голосов
/ 06 июня 2018

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

каждому пользователю доступно два канала.Их личный канал, который содержит все их действия user: userId и их временную шкалу, которая должна содержать все, что они следуют временной шкале: userId.

Чтобы следовать пользовательскому каналу, в моей серверной части есть две функции, которые можно вызвать как API.

const feed = streamClient.feed ('timeline',actor);

feed.follow('user',followFeedId).then(function(results) {
        res.send(results);
    },function(err) {
        // Handle or raise the Error.
        console.log(err);
        return res.status(500).send({message: err.message});
    });

Чтобы отменить подписку на пользователя, сделайте то же самое

const feed = streamClient.feed ('timeline',actor);

feed.unfollow('user',followFeedId).then(function(results) {
        res.send(results);
    },function(err) {
        // Handle or raise the Error.
        console.log(err);
        return res.status(500).send({message: err.message});
    });

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

Согласно документацииЯ могу использовать

user_feed_1.followers(0, 10)

, чтобы понять, кто подписан на этот канал.он возвращает максимум 100 результатов.С моим мини-приложением на данный момент это не проблема, но что, когда я получаю более 100 подписчиков на канал.

Так что мой вопрос, есть ли более элегантный вариант, чтобы определить, есть ли временная шкала: userIdследует за пользователем: userId feed?Я не смог найти ответ на этот вопрос в документации.

1 Ответ

0 голосов
/ 07 июня 2018

Вы можете использовать альтернативный API read follow feeds ', так как он может быть отфильтрован:

feed.following({filter:['timeline:1']})
...