Добавить unionType
Завершена
Проект: Городские и общественные бани
Планируемый запуск: | Дата начала: | 04.03.2021 | Планируемое завершение: | Дата завершения: |
Описание задачи
P.S. Получилось довольно изящное решение проблемы запроса разных топов ресурсов по любому УРЛу (когда не понятно какой именно тип объекта будет возвращен).
С таким подходом получается указать различные наборы полей для разных типов объектов: https://github.com/gorodskie-bani-ru/nextjs/blob/7977b664c1062c7a1934d25cbc2c199cc2982b38/src/gql/resource.graphql#L12-L26
Можно будет в дальнейшем использовать для оптимизации страницы ресурса и здесь https://github.com/freecode-academy/freecode.academy/blob/master/src/pages/Resource/index.tsx
P.P.S.
Здесь еще один момент вскрылся: если писать запрос так:
то есть с фрагментом в корне запроса, то аполло в ответе возвращает только __typename, то есть самого тела объекта нет. При этом с сервера данные приходят корректно.
Дело именно в кеш-манагере аполло. Официальная документация говорит прописать possibleTypes (можно и автоматически подгружать). Но в моем случае помогло и просто убрать фрагмент, то есть вот так запрос написать:
Проект | Задача | Статус | Дата постановки | Начало | Конец | Кто создал |
---|---|---|---|---|---|---|
Городские и общественные бани | Добавить unionType | Завершена | 04.03.2021 20:14:29 | 04.03.2021 20:45:06 | 04.03.2021 22:05:13 |