Size: a a a

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

2021 February 09

RD

Roman Dynnik in GraphQL — русскоговорящее сообщество
Pavel @nodkz
Нее graphql-compose тут не поможет, он только под JS заточен.

Возможно стоить посмотреть в сторону graphql-codegen и под него писать свои плагины. Но для его работы в начале должна уже должна быть GraphQL схема.
ну генерить то все равно что - это же просто текст (шаблонизатор какой-либо на дерево или объектное представление его). Тот же Gatsby генерит же текст по сути получая данные через gql.
источник

RD

Roman Dynnik in GraphQL — русскоговорящее сообщество
Какой-либо GraphQL AST парсер схемы может нужен?
источник
2021 February 10

R

RdfBbx in GraphQL — русскоговорящее сообщество
Всем добрый день! Подскажите, пожалуйста, я ищу какой-нибудь удобный клиент для Java/Spring для выполнения запросов на чужой graphql api. Я всего один раз работал с gql на питоне, хочу найти нечто подобное для java.
источник

R

RdfBbx in GraphQL — русскоговорящее сообщество
Гуглил, нашел только кучу гайдов о том, как поднять свой сервер, а как удобно опрашивать чужой апи нет -_-
источник

LR

Leonid Rezvitsky in GraphQL — русскоговорящее сообщество
источник

NK

Nikita Komkov in GraphQL — русскоговорящее сообщество
Привет кто работал с graphql-shield? Знает кто-нибудь можно ли с его помощью  защитить запрос следующим образом. Допустим мне надо в зависимости от роли получать разные данные из таблицы. К примеру есть админ, который может получать все записи из таблицы, а есть обычный пользователь, который может получить только записи, которые к нему относятся. Если да , то можно пример?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Прокидывайте роль в контекст и в резолвере вызывайте логику, тут даже не в shield дело, так с любой авторизацией/пермишен системой будет работать
источник

NK

Nikita Komkov in GraphQL — русскоговорящее сообщество
Олег Линьков
Прокидывайте роль в контекст и в резолвере вызывайте логику, тут даже не в shield дело, так с любой авторизацией/пермишен системой будет работать
окей, спасибо
источник
2021 February 11

DR

Dm Rud in GraphQL — русскоговорящее сообщество
при
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
Товарищи, я вам рекомендую стараться уходить от React Apollo Client
Я решил покопаться в исходниках apollographql/apollo-client и, как мне кажется, проект загибается:

Комьюнити в Spectrum тупо мертво, в гитхабе 80% тикетов остается даже без ответа.

Я решил помочь одному чуваку по тикету и закрыть баг самостоятельно:
https://github.com/apollographql/apollo-client/issues/7667
Простой баг:
- useQuery
- если включить, выключить, включить polling через флаг skip, то он перестает работать

Скачал репу, запустил тесты - 7 тестов красные
Запускаю еще раз - 5 тестов красные
Короче, оказалось, что есть тесты, которые то срабатывают то нет
Стал разбираться, что за дела, решил поправить этот косяк
Полный отчет с кодом можно тут прочесть
https://github.com/apollographql/apollo-client/pull/7679
Вкратце: тест coupled с деталями имплементации реакта
Супер красный флаг

Возвращаясь к тому багу, мне легко удалось написать тест, который этот баг повторяет, но вот поправить этот баг мне не удалось
Код непонятный
Пример
https://github.com/apollographql/apollo-client/blob/main/src/react/data/QueryData.ts
- Данные мутируются из рандомных мест
- Огромные комментарии, которые пытаюсь объяснять арканную магию, почему if из 6 строчек на 3-м уровне вложенности очень важный
- Переплетеная слоистая архитектура из объектов с кризисом самоидентификации. Что делает QueryData? Я хз, что-то запрашивает, наверное данные. Лениво, сразу, с поллингом, менеджит конфигурацию, работает с кешем, рендрит SSR, хранит текущий и предыдуший стэйт…

Conclusion
- код сложный из-за косяков с архитектурой
- фактически в коде разбирается только один чувак по имени Ben Newman
- нового эксперта не предвидится: комьюнити мертво, в коде сложно разобраться
- багов в коде много, но их поправвить может только Ben Newman
- усилий одного человека не достаточно для закрытий всех багов, вот и 80% неотвеченных тикетов
- как мне кажется, проект загибается

Шанс у Apollo есть, если они заменят Ben Newman на новую сработанную команду, и она с нуля перепишет большую часть кода. Но все это туманное отдаленное будущее

Поэтому, товарищи, я вам рекомендую стараться уходить от React Apollo Client

Спасибо, что пришли на мой Тэд Толк
источник

🐟🐠

🐟Andrey 🐠Lukin in GraphQL — русскоговорящее сообщество
Алексей Козин
Товарищи, я вам рекомендую стараться уходить от React Apollo Client
Я решил покопаться в исходниках apollographql/apollo-client и, как мне кажется, проект загибается:

Комьюнити в Spectrum тупо мертво, в гитхабе 80% тикетов остается даже без ответа.

Я решил помочь одному чуваку по тикету и закрыть баг самостоятельно:
https://github.com/apollographql/apollo-client/issues/7667
Простой баг:
- useQuery
- если включить, выключить, включить polling через флаг skip, то он перестает работать

Скачал репу, запустил тесты - 7 тестов красные
Запускаю еще раз - 5 тестов красные
Короче, оказалось, что есть тесты, которые то срабатывают то нет
Стал разбираться, что за дела, решил поправить этот косяк
Полный отчет с кодом можно тут прочесть
https://github.com/apollographql/apollo-client/pull/7679
Вкратце: тест coupled с деталями имплементации реакта
Супер красный флаг

Возвращаясь к тому багу, мне легко удалось написать тест, который этот баг повторяет, но вот поправить этот баг мне не удалось
Код непонятный
Пример
https://github.com/apollographql/apollo-client/blob/main/src/react/data/QueryData.ts
- Данные мутируются из рандомных мест
- Огромные комментарии, которые пытаюсь объяснять арканную магию, почему if из 6 строчек на 3-м уровне вложенности очень важный
- Переплетеная слоистая архитектура из объектов с кризисом самоидентификации. Что делает QueryData? Я хз, что-то запрашивает, наверное данные. Лениво, сразу, с поллингом, менеджит конфигурацию, работает с кешем, рендрит SSR, хранит текущий и предыдуший стэйт…

Conclusion
- код сложный из-за косяков с архитектурой
- фактически в коде разбирается только один чувак по имени Ben Newman
- нового эксперта не предвидится: комьюнити мертво, в коде сложно разобраться
- багов в коде много, но их поправвить может только Ben Newman
- усилий одного человека не достаточно для закрытий всех багов, вот и 80% неотвеченных тикетов
- как мне кажется, проект загибается

Шанс у Apollo есть, если они заменят Ben Newman на новую сработанную команду, и она с нуля перепишет большую часть кода. Но все это туманное отдаленное будущее

Поэтому, товарищи, я вам рекомендую стараться уходить от React Apollo Client

Спасибо, что пришли на мой Тэд Толк
спасибо
источник

P@

Pavel @nodkz in GraphQL — русскоговорящее сообщество
Алексей Козин
Товарищи, я вам рекомендую стараться уходить от React Apollo Client
Я решил покопаться в исходниках apollographql/apollo-client и, как мне кажется, проект загибается:

Комьюнити в Spectrum тупо мертво, в гитхабе 80% тикетов остается даже без ответа.

Я решил помочь одному чуваку по тикету и закрыть баг самостоятельно:
https://github.com/apollographql/apollo-client/issues/7667
Простой баг:
- useQuery
- если включить, выключить, включить polling через флаг skip, то он перестает работать

Скачал репу, запустил тесты - 7 тестов красные
Запускаю еще раз - 5 тестов красные
Короче, оказалось, что есть тесты, которые то срабатывают то нет
Стал разбираться, что за дела, решил поправить этот косяк
Полный отчет с кодом можно тут прочесть
https://github.com/apollographql/apollo-client/pull/7679
Вкратце: тест coupled с деталями имплементации реакта
Супер красный флаг

Возвращаясь к тому багу, мне легко удалось написать тест, который этот баг повторяет, но вот поправить этот баг мне не удалось
Код непонятный
Пример
https://github.com/apollographql/apollo-client/blob/main/src/react/data/QueryData.ts
- Данные мутируются из рандомных мест
- Огромные комментарии, которые пытаюсь объяснять арканную магию, почему if из 6 строчек на 3-м уровне вложенности очень важный
- Переплетеная слоистая архитектура из объектов с кризисом самоидентификации. Что делает QueryData? Я хз, что-то запрашивает, наверное данные. Лениво, сразу, с поллингом, менеджит конфигурацию, работает с кешем, рендрит SSR, хранит текущий и предыдуший стэйт…

Conclusion
- код сложный из-за косяков с архитектурой
- фактически в коде разбирается только один чувак по имени Ben Newman
- нового эксперта не предвидится: комьюнити мертво, в коде сложно разобраться
- багов в коде много, но их поправвить может только Ben Newman
- усилий одного человека не достаточно для закрытий всех багов, вот и 80% неотвеченных тикетов
- как мне кажется, проект загибается

Шанс у Apollo есть, если они заменят Ben Newman на новую сработанную команду, и она с нуля перепишет большую часть кода. Но все это туманное отдаленное будущее

Поэтому, товарищи, я вам рекомендую стараться уходить от React Apollo Client

Спасибо, что пришли на мой Тэд Толк
Это вы еще репку Relay не смотрели )

Там вообще на комьюнити болт положили.
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
Алексей Козин
Товарищи, я вам рекомендую стараться уходить от React Apollo Client
Я решил покопаться в исходниках apollographql/apollo-client и, как мне кажется, проект загибается:

Комьюнити в Spectrum тупо мертво, в гитхабе 80% тикетов остается даже без ответа.

Я решил помочь одному чуваку по тикету и закрыть баг самостоятельно:
https://github.com/apollographql/apollo-client/issues/7667
Простой баг:
- useQuery
- если включить, выключить, включить polling через флаг skip, то он перестает работать

Скачал репу, запустил тесты - 7 тестов красные
Запускаю еще раз - 5 тестов красные
Короче, оказалось, что есть тесты, которые то срабатывают то нет
Стал разбираться, что за дела, решил поправить этот косяк
Полный отчет с кодом можно тут прочесть
https://github.com/apollographql/apollo-client/pull/7679
Вкратце: тест coupled с деталями имплементации реакта
Супер красный флаг

Возвращаясь к тому багу, мне легко удалось написать тест, который этот баг повторяет, но вот поправить этот баг мне не удалось
Код непонятный
Пример
https://github.com/apollographql/apollo-client/blob/main/src/react/data/QueryData.ts
- Данные мутируются из рандомных мест
- Огромные комментарии, которые пытаюсь объяснять арканную магию, почему if из 6 строчек на 3-м уровне вложенности очень важный
- Переплетеная слоистая архитектура из объектов с кризисом самоидентификации. Что делает QueryData? Я хз, что-то запрашивает, наверное данные. Лениво, сразу, с поллингом, менеджит конфигурацию, работает с кешем, рендрит SSR, хранит текущий и предыдуший стэйт…

Conclusion
- код сложный из-за косяков с архитектурой
- фактически в коде разбирается только один чувак по имени Ben Newman
- нового эксперта не предвидится: комьюнити мертво, в коде сложно разобраться
- багов в коде много, но их поправвить может только Ben Newman
- усилий одного человека не достаточно для закрытий всех багов, вот и 80% неотвеченных тикетов
- как мне кажется, проект загибается

Шанс у Apollo есть, если они заменят Ben Newman на новую сработанную команду, и она с нуля перепишет большую часть кода. Но все это туманное отдаленное будущее

Поэтому, товарищи, я вам рекомендую стараться уходить от React Apollo Client

Спасибо, что пришли на мой Тэд Толк
а вы точно не из релея?)
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
Aleksandr Bukhalo
а вы точно не из релея?)
Нет ) У меня 2 проекта на Apollo, от релэя я использовал только их протокол пагинации
источник

AB

Aleksandr Bukhalo in GraphQL — русскоговорящее сообщество
ну странно такое слушать, во первых это опенсорц без гарантий, во вторых вы залезли в код и нашли что-то не очень хорошее, что тоже не удивительно, такое везде есть. По поводу развития, ну аполло клиент работает и работает хорошо в 90% кейсов, даже если он 100 лет нет будет развиваться и будет хорошо работать, это не повод списывать его со счетов. Ну и критикуешь - предлагай. У нас альтернатив-то не много
источник

АК

Алексей Козин... in GraphQL — русскоговорящее сообщество
Aleksandr Bukhalo
ну странно такое слушать, во первых это опенсорц без гарантий, во вторых вы залезли в код и нашли что-то не очень хорошее, что тоже не удивительно, такое везде есть. По поводу развития, ну аполло клиент работает и работает хорошо в 90% кейсов, даже если он 100 лет нет будет развиваться и будет хорошо работать, это не повод списывать его со счетов. Ну и критикуешь - предлагай. У нас альтернатив-то не много
Ты конечно крут делать прогнозы на 100 лет ) graphql 5 лет от роду
graphql сейчас и через 5 лет - две больших разницы, технологии растут, эволюционируют, меняются
Что-то, что не может меняться/приспособиться - попросту умирает
Fortran все также хоршо работает, как и в 1960, но для программистов он бесполезен
Врядли ты хочешь, чтобы твой кодбэйз был завязан на Фортран

Я не знаю альтернативы, я только работал с Apollo
Есть только подозрение, которое я еще не проверял:
- возможно что-то можно делать с react-query
У них нет нормализованного кеша, но лично для моих проектов это не проблема
источник

AM

Arthur Murauskas in GraphQL — русскоговорящее сообщество
> Fortran все также хоршо работает, как и в 1960, но для программистов он бесполезен

Нам нем писали и продолжают писать ПО для атомных станций, пусковых модулей NASA, астрофизических вычислений и т.д. 😉
источник

R

Roman in GraphQL — русскоговорящее сообщество
Можно ли вернуть один тип из двох в схемe или так нельзя делать?
type User {
 id: String
}

type CustomObj {
 statusCode: Int
}

Например
updateUser(userId: String): User | CustomObj
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Так нельзя, строгость схемы нарушается
источник

b

bbclub in GraphQL — русскоговорящее сообщество
Roman
Можно ли вернуть один тип из двох в схемe или так нельзя делать?
type User {
 id: String
}

type CustomObj {
 statusCode: Int
}

Например
updateUser(userId: String): User | CustomObj
Я опредялял 2 типа и один возвращал, в другом null
источник