Size: a a a

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

2018 December 02

a

akaSybe in GraphQL — русскоговорящее сообщество
при таком подходе придется менять граф схемы на каждое изменение
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
ну а с ошибкой видимо надо описать тип для неймспейса
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
со всеми доступными там кверис\мутациями
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
type AdminNamespace { ... }
источник

OG

Oleg Gamega in GraphQL — русскоговорящее сообщество
что тогда лучше? мне идея дерикстив на первый взгляд нравится тем то быстро и удобно расписать доступы, но опять же понимаю что при изменение придется менять схему, чего на каждый чих делать не хоетлось бы
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
при подходе с директивами/или проверкой доступа в резолвере схема меняться не будет
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
если понадобится изменить уровень доступа, к полю в схеме добавляешь или удаляешь директиву с проверкой, но сам граф остается неизмененным
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
type Query {
 getSomeData: [SecretData] @admin
}
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
type Query {
 getSomeData: [SecretData]
}
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
akaSybe
но этот подход с неймспейсами мне очень не нравится
мне тоже
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
имхо это хак)
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
то что Павел аргументирует это "Ну у вас большой портянки не будет"... ну вы просто разбиваете одну большую портянку на 2-3 портянок чутка поменьше)))))
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
Кто что использует для всяких дополнительных валидаций в инпутах мутаций? к примеру я хочу сделать min/max у int
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
не хочется в резолвере писать эти проверки
источник

VY

Viacheslav Yefremov in GraphQL — русскоговорящее сообщество
Всем привет.

Есть директива:
directive @dirName(value: String) on FIELD | FIELD_DEFINITION

И directiveResolver для неё:
dirName: (next, source, args, context) => {
   console.log(args.value);
}
___

А использую это таким образом:
type Mutation {
  someAction(data: String): SomeType @dirName(value: "text string")
}
___

Вопрос:
Как при использовании директивы передавать data из Mutation в поле value? Что-то вроде @dirName(value: data).



Возможно, value вообще не передавать, а в directiveResolver'е тянуть data напрямую из родителя. Но не знаю, как
источник

a

akaSybe in GraphQL — русскоговорящее сообщество
data не придёт в параметре source?
источник

VY

Viacheslav Yefremov in GraphQL — русскоговорящее сообщество
akaSybe
data не придёт в параметре source?
undefined :D
источник

VY

Viacheslav Yefremov in GraphQL — русскоговорящее сообщество
Viacheslav Yefremov
Всем привет.

Есть директива:
directive @dirName(value: String) on FIELD | FIELD_DEFINITION

И directiveResolver для неё:
dirName: (next, source, args, context) => {
   console.log(args.value);
}
___

А использую это таким образом:
type Mutation {
  someAction(data: String): SomeType @dirName(value: "text string")
}
___

Вопрос:
Как при использовании директивы передавать data из Mutation в поле value? Что-то вроде @dirName(value: data).



Возможно, value вообще не передавать, а в directiveResolver'е тянуть data напрямую из родителя. Но не знаю, как
Окей, другой вопрос: почему в данной ситуации source равен undefined? Перерыл уже весь гугл, ничего такого. Может, кто сталкивался?
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
А можно несколько директив к мутации применить?
источник

MM

Maxim Makarov in GraphQL — русскоговорящее сообщество
одна проверяет авторизован ли юзер, вторая — есть ли бан у пользователя
источник