Size: a a a

GraphQL — русскоговорящее сообщество

2019 November 22

OL

Oleh Lustenko in GraphQL — русскоговорящее сообщество
p s
я пока пришел к тому что redux будет обернут клиентом graphQL и будет получать изменения списка с сервера как если бы использовался обычный rest
А зачем redux?
источник

OL

Oleh Lustenko in GraphQL — русскоговорящее сообщество
Все что предоставляет Redux можно выразить в apollo local state
источник

OL

Oleh Lustenko in GraphQL — русскоговорящее сообщество
С +- таким же синтаксисом
источник

ps

p s in GraphQL — русскоговорящее сообщество
предполагается что будет сложное состояние локальное, не хочется в state компонентов хранить
источник

OL

Oleh Lustenko in GraphQL — русскоговорящее сообщество
Если мы кстати говорим про Реакт, то redux не умеет в concurrent mode
источник

ps

p s in GraphQL — русскоговорящее сообщество
Oleh Lustenko
Все что предоставляет Redux можно выразить в apollo local state
про это не знал! flux архитектуру с ним можно построить?
источник

ps

p s in GraphQL — русскоговорящее сообщество
Oleh Lustenko
Если мы кстати говорим про Реакт, то redux не умеет в concurrent mode
таких требований пока не было
источник

OL

Oleh Lustenko in GraphQL — русскоговорящее сообщество
p s
про это не знал! flux архитектуру с ним можно построить?
Да конечно
источник

ps

p s in GraphQL — русскоговорящее сообщество
понятно, сейчас буду читать. спасибо огромное!
источник

YS

Yuno Sørensen in GraphQL — русскоговорящее сообщество
Ребят, у меня вопрос про филды у типа данных. Есть кверя, возвращающая массив с типом Movie. Внутри этого типа есть филд related, который возвращает тот же самый тип.
Проблему с бесконечным вложением типов я решил написав кастомный валидатор, однако осталась другая проблема. Заключается она в том, что в некоторых случаях нужно сделать так, чтобы у типа Movie отсутствовали бы определенные филды, например этот же related. К примеру, вот тут related должен быть недоступен:

query {
 users {
   channels {
     movies {
       ...
     }
   }
 }
}


Тогда как вот тут он должен быть доступен:
query {
 movies {
   title
   related {
     ...
   }
 }
}

Делать отдельные типы совсем не хочется, потому что может получиться так, что для одного и того же типа в разных случаях может понадобиться удалять разные филды.
Есть идеи как такое можно реализовать? Может быть есть уже готовый солушн? Спасибо
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Kirill Nesmeyanov
Так же, как и обычном мире это делается =)
Каждый объект хранится в памяти (в случае БД - это идентити мап)
такое ощущение, что тебе и правда не нужен GraphQL 🙂 ты пробовал JSON:API стандарт?
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Yauheni Baranou
Всем привет! Сталкивался ли кто с ошибкой в Mutation : Query root type must be provided.
согласно спецификации, схема обязательно должна содержать QueryType
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Yuno Sørensen
Ребят, у меня вопрос про филды у типа данных. Есть кверя, возвращающая массив с типом Movie. Внутри этого типа есть филд related, который возвращает тот же самый тип.
Проблему с бесконечным вложением типов я решил написав кастомный валидатор, однако осталась другая проблема. Заключается она в том, что в некоторых случаях нужно сделать так, чтобы у типа Movie отсутствовали бы определенные филды, например этот же related. К примеру, вот тут related должен быть недоступен:

query {
 users {
   channels {
     movies {
       ...
     }
   }
 }
}


Тогда как вот тут он должен быть доступен:
query {
 movies {
   title
   related {
     ...
   }
 }
}

Делать отдельные типы совсем не хочется, потому что может получиться так, что для одного и того же типа в разных случаях может понадобиться удалять разные филды.
Есть идеи как такое можно реализовать? Может быть есть уже готовый солушн? Спасибо
Нужно спрятать поля именно из схемы, или просто данные не отдавать? Второе сделать довольно просто, первое – увы, только через дополнительные типы
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
Dmitry Tsepelev
такое ощущение, что тебе и правда не нужен GraphQL 🙂 ты пробовал JSON:API стандарт?
Ну сам gql в таком его виде - нет, не нужен)
источник

YS

Yuno Sørensen in GraphQL — русскоговорящее сообщество
Dmitry Tsepelev
Нужно спрятать поля именно из схемы, или просто данные не отдавать? Второе сделать довольно просто, первое – увы, только через дополнительные типы
Не отдавать данные вполне подойдёт
источник

YS

Yuno Sørensen in GraphQL — русскоговорящее сообщество
Я думал сделать директиву и указывать её типу, что-то вроде @restrict(fields: ['related']). И затем валидатором парсить кверю
источник

YS

Yuno Sørensen in GraphQL — русскоговорящее сообщество
Если в квери есть запрещенные филды, то возвращать ошибку
источник

KN

Kirill Nesmeyanov in GraphQL — русскоговорящее сообщество
Dmitry Tsepelev
такое ощущение, что тебе и правда не нужен GraphQL 🙂 ты пробовал JSON:API стандарт?
(Про JSON API) Было что-то такое. Очередная попытка навесить на JSON логику, что по своей изначальной сути провально
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Yuno Sørensen
Я думал сделать директиву и указывать её типу, что-то вроде @restrict(fields: ['related']). И затем валидатором парсить кверю
можно и без директивы, просто на бэке проверить что (например) это “лист дерева”
источник

DT

Dmitry Tsepelev in GraphQL — русскоговорящее сообщество
Kirill Nesmeyanov
(Про JSON API) Было что-то такое. Очередная попытка навесить на JSON логику, что по своей изначальной сути провально
не не, наоборот, это просто стандартизация ввода и вывода, у тебя из коробки работает возможность “ходить” по ассоциациям и ограничивать набор полей, а вот изменение данных – как ты и хочешь, руками
источник