Size: a a a

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

2020 July 08

N

Nenormalniy in GraphQL — русскоговорящее сообщество
ну была пикча недолго
источник

AM

Andrii Mosin in GraphQL — русскоговорящее сообщество
h tt ps://prnt.sc/tdwgde

почему рендерит 2 поста, когда я через контентфул добавляю один
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
подписки же можно обрабатывать как и мутации, именно запретить обработку, если нет прав например? или так не работает?
а разве в методах сабскрипшина должен быть return?
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
подписки же можно обрабатывать как и мутации, именно запретить обработку, если нет прав например? или так не работает?
Subscription: {
   postAdded: {
     // Additional event labels can be passed to asyncIterator creation
     subscribe: () => pubsub.asyncIterator([POST_ADDED]),
   },
 },
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
Alex Neo
а разве в методах сабскрипшина должен быть return?
это не метод, это резолв уровня выше, мне там подписка не нужна, мне только проверить авторизацию например, вообще нет примеров таких
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
у меня есть

type Subscription {
admin {}
user {}
guest {}
}
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
вот эти нужно зарезолвить, если норм, пройти ниже
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
но работает только вот так, если тут не делать подписку, все падает
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а еще вообще не ясно, есть сервер, но он тригерит функцию каждую секунду, это нормально?
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
это не метод, это резолв уровня выше, мне там подписка не нужна, мне только проверить авторизацию например, вообще нет примеров таких
а зачем авторизацию в подписках проверять?
ты же в каких-то резолверах (мутации, квери) будешь слать данные подписки? вот там и проверяй авторизацию
если админ - отправить
не админ - не отправлять
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
Alex Neo
а зачем авторизацию в подписках проверять?
ты же в каких-то резолверах (мутации, квери) будешь слать данные подписки? вот там и проверяй авторизацию
если админ - отправить
не админ - не отправлять
а, тоесть в подписках не нужно, достаточно в резолвере мутации или квери?
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
а, тоесть в подписках не нужно, достаточно в резолвере мутации или квери?
ну да
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а, тогда все выходит, спс
источник

AN

Alex Neo in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
а, тогда все выходит, спс
👍
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Bogdan Aleksandrovich
а, тоесть в подписках не нужно, достаточно в резолвере мутации или квери?
Есть два подхода, проверять авторизацию при инициализации подписки (но тогда нужно обеспечивать имутативность канала) или middleware/директивы для общих подписок
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а если брать из контекста юзера, у него смотреть права и фильтровать через withFilter?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Ну это тоже самое как мидла, но проверку делать в самой подписке нет смысла. Вдруг у вас 100 подписок, писать один и тот же код или вызывать функцию..
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
а что за миделвары? в графкле они есть?
источник

ОЛ

Олег Линьков... in GraphQL — русскоговорящее сообщество
Они есть в сервере, это слишком банальная тема, если ты знаком с express, koa, etc. Проще погугли на гите graphql subscription и посмотри как делают люди, кучу вопросов снимет
источник

BA

Bogdan Aleksandrovic... in GraphQL — русскоговорящее сообщество
так експресс никак не относится к графклу, в нем я просто обрубаю роут, не более
источник