Size: a a a

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

2020 November 12

TL

Timur Lastaev in GraphQL — русскоговорящее сообщество
type User {
 username: String! (min: 3 max: 10)
}
источник

А

Арсений in GraphQL — русскоговорящее сообщество
Alex Konstantinov
Всем привет! Есть ли тут кто-то кто использует директивы(Кроме deprecated :) )? И для чего? Пока не очень понятно, где их применять.
для пермиссий применяем, пример:
search(projectId: ID, searchQuery: String): [TreeNode]
@withPermission(it: LIST_STRUCTURE_NODES)
источник

TL

Timur Lastaev in GraphQL — русскоговорящее сообщество
Что то вроде этого
источник

AI

Alex Ilatovsky in GraphQL — русскоговорящее сообщество
Timur Lastaev
Если нужно к примеру ограничить длину строки, мин 3 и макс 10. Как это можно сделать? С помощью скаляра получится такое сделать?
если таких ограничения много где присутствуют и они везде разные то имхо уместнее директива и выглядить будет а-ля username: String! @restrictedLength(min: 3, max: 10), если все-таки множество таких валидаров ограничено то можно или написать руками необходимые кастомные скаляры или написать фабрику скаляров
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Alex Konstantinov
Всем привет! Есть ли тут кто-то кто использует директивы(Кроме deprecated :) )? И для чего? Пока не очень понятно, где их применять.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Директивы можно использовать для валидации (формат и значение полей), для авторизации (кто когда может иметь доступ к полям), скрытия полей из схемы, трансформации значения полей, навешивания весов и ограничения частоты вызова полей (для вычисления сложности запроса и ограничения частоты запроса – см. обсуждение на днях выше). Да для чего угодно. )
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Директивы – это по сути те же middleware (функции, которые оборачивают резолвер и выполняются либо до, либо после отработки резолвера), только навешиваемые через SDL.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Обычно директива – это какая-то одинаковая переиспольземая логика, которую отрефакторили из кода резолверов.

Директивы могут быть удобны, если у вас SDL-first подход. Тогда у вас вся информация в одном месте. Глядя на схему, можно сразу понять, какие ограничения по валидации, авторизации и т.д. у каждого поля.
источник

AK

Alex Konstantinov in GraphQL — русскоговорящее сообщество
Спасибо! Отличный пример
источник

AK

Alex Konstantinov in GraphQL — русскоговорящее сообщество
Мне это очень подходит
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Есть и минусы. Так как SDL – декларативный язык, то помимо простоты в довесок идёт ограниченность. Сложные условия в директивах сложно прописать. Либо у вас будет куча неуниверсальных одноразовых директив.

Миддлвари же более гибкие, так как описываются не в SDL, а в императивном языке программирования, где вы вольны делать, что хотите, синтаксис вас не ограничивает.
источник
2020 November 13

DL

Dmitry Lyamtsev in GraphQL — русскоговорящее сообщество
Всем привет, не подскажите в faunaDB при мутации и вызове connect есть возможность в этой вложенности создать ещё одну связь? К примеру: Компания имееть адрес, в котором идёт связь к стране, но так же в этой стране есть связь к городу.
Вот так я могу создать новую компанию с новой страной и новым городом. Но как мне создать компанию  с существующей страной и новым городом?
источник

DL

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

DL

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

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
Проблема в том, что connect не принимает объект.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
То есть можно приконнектить только уже готовый объект.
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
@forze961 А массив для connect можно указать? Если я хочу приконнектить сразу несколько по id?
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
На первом скриншоте поле у вас называется cities (что намекает на то, что внутри страны может быть несколько городов), но внутри citiescreate, который вместо массива принимает объект. Можно создать только 1 город?
источник

a

artalar in GraphQL — русскоговорящее сообщество
У кого-то еще проблемы с аполо клаент при сборке на node15 были?
источник

АР

Алексей Родионов... in GraphQL — русскоговорящее сообщество
источник