Запрос GraphQL только для невидимого контента - Совет по схеме - PullRequest
0 голосов
/ 04 мая 2020

Я строю схему graphql через AWS AppSyn c и у меня есть вопрос относительно структуры схемы. Мое приложение будет показывать пользователям новые сообщения и заставлять их присоединяться или передавать их. Я пытаюсь сделать так, чтобы я только показывал пользователям новые сообщения, а не повторял или, по крайней мере, не повторял в течение определенного количества времени. Это похоже на удары по трутам, они не покажут вам кого-то снова, если вы уже на них нанесли удар. У кого-нибудь есть идеи, как структурировать это в моей схеме. Нужно ли хранить ссылки на все просмотренные посты в пользовательской модели или я должен хранить каждый свайп как свою собственную модель и как мне структурировать запросы? Буду признателен за любые советы по этому поводу.

Спасибо!

1 Ответ

0 голосов
/ 05 мая 2020

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

Но подумайте о том, что произойдет, если они не работали с приложением в течение 5 минут, или 5 дней, или 5 недель ... в зависимости от объема сообщений, которые, как вы ожидаете, могут быстро отстать, и им придется пробираться через слишком много старых сообщений.

Одна мысль быть, чтобы показать следующий самый старый пост, основанный на времени создания самого последнего поста, который они просмотрели. Если N сообщений не было создано с момента их последнего подключения к Интернету (порог, который вам нужно будет решить). Затем начните с отображения N - X-го поста (где X - 5 или 500, опять же в зависимости от громкости), пока все они не будут захвачены.

Есть много способов, которыми вы можете запрограммировать это, все зависит в вашем случае вы можете принять во внимание «популярные» посты, например, они могут быть взвешены выше / раньше других постов в их журнале.

Надеюсь, это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...