При построении структуры запроса и типа графа в API GraphQL, куда бы вы поместили высококонтекстные запросы, которые относятся только к средству просмотра?
На верхнем уровне (запрос.friendRequests)
Это уберет шум в сущности User и сохранит там только те запросы, которые доступны для всех пользователей.Не только просмотр пользователя.Это добавило бы намного больше запросов верхнего уровня с риском того, что они станут специалистами по конкретным вещам, которые на самом деле не являются идеями «мышление в графике» и «модель-данные-вокруг-бизнес-логики».
На объекте просмотра (query.viewer.friendRequests)
С точки зрения данных, имеет смысл поместить его под объектом просмотра (который является пользователемтип).запросы на добавление в друзья всегда принадлежат родительскому объекту, который всегда является пользователем.
Другие примеры
- Виджеты панели инструментов
- Уведомления пользователя
- Элементы действий / Элементы TODO / Списки задач
- Сообщения
- Счетчики и значки
Что вы, ребята, думаете по этому поводу?Какой будет хорошей рекомендацией следовать для просмотра пользовательских контекстных запросов, которые не применяются к другим пользовательским объектам в реализации API?