Size: a a a

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

2019 February 07

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
Это и есть эта директива, что я дорабатываю. )))
источник

e

egoarka in GraphQL — русскоговорящее сообщество
так а что там не так
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
Она не возвращает вообще весь объект, если хотя бы одно поле ограничено.
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
А мне нужно, чтобы в data были возвращены все поля, к которым у меня есть доступ, кроме того поля, к которому доступ запрещён. А это поле было null. Плюс вместе с data был error.
источник

e

egoarka in GraphQL — русскоговорящее сообщество
конечно на уровне мидлвари это все более flexible смотрится

а у тебя бек на призме?
я директивы не юзаю, только вот мидлвари для некоторых бизнескейсов, так вроде намного гибче логика становится, хзхз
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
egoarka
конечно на уровне мидлвари это все более flexible смотрится

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

e

egoarka in GraphQL — русскоговорящее сообщество
понял, тогда возможно это имеет смысл, а возможно и нет, не успел еще призму попробовать, так что не могу точно сказать

(потому что на уровне схемы у призмы большая часть логики строится, но все-равно даже умельцы стараются резолверы ручками писать, чтобы гибче логика была)
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
Директива универсальна, ей всё равно, Prisma там за ней или нет. Да и проблема больше с JavaScript, чем с директивой.
источник

e

egoarka in GraphQL — русскоговорящее сообщество
в js? а он тут причем
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
Проблема вот в чём. Если я делаю throw error, то дальше код не выполняется и до return дело не доходит. И обратно, если делаю return, то выполнение кода приостанавливается и throw error не вызывается.
источник

e

egoarka in GraphQL — русскоговорящее сообщество
https://github.com/maticzav/graphql-shield

но это не директива

я бы не стал мучить бедную директиву и писал бы так имхо
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
Мне нужно как-то исхитриться вернуть null и при этом сделать throw error одновременно. Или как-то вызвать ошибку не через throw error.
источник

e

egoarka in GraphQL — русскоговорящее сообщество
даже @uxname пишет призму без директивы и ему норм с либой выше

@uxname, было бы ок если бы ты прокомментил про директиву для permission layer'а, мне интересно услышать твое мнение
источник

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
egoarka
https://github.com/maticzav/graphql-shield

но это не директива

я бы не стал мучить бедную директиву и писал бы так имхо
Я в курсе этого решения.
источник

e

egoarka in GraphQL — русскоговорящее сообщество
мне вот больше нравится решение type-graphql  с директивами (== декораторами) на уровне entity, прям сказка

пишешь кастомный middleware с любой логикой и цепляешь его как декоратор на поле entity

слышал что призма будет тоже учавствовать в опенсорсе для этой либы (!) ну а если точнее ишью на гитхабе видел там же))))
источник

АР

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

АР

Алексей Родионов in GraphQL — русскоговорящее сообщество
If a field’s resolve function throws a error, the error will be inserted into the response’s "errors" key and the field will resolve to null.
источник

e

egoarka in GraphQL — русскоговорящее сообщество
это в directive-auth  в доке написано или что-то кастомное?
источник

АР

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

e

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