169 похожих чатов

Всем привет! Реализовал директиву hasRole, которую можно применять к FIELD_DEFINITION и

OBJECT по инструкции из https://www.apollographql.com/docs/graphql-tools/schema-directives#enforcing-access-permissions.

Хочу, чтобы её можно было навешивать на аргументы и инпуты мутаций, то есть на ARGUMENT_DEFINITION и INPUT_FIELD_DEFINITION.

Логика такая: например, в мутации updatePost ограничить изменение title таким образом, чтобы только администраторы могли менять это поле, путём навешивания директивы на аргумент title. При этом на аргумент content ничего не навешивать, разрешив тем самым всем редактировать поле content. Или навесить директиву с другой ролью (отличной от администратора).

Возможно ли это вообще?

Очевидно, что нужно использовать visitArgumentDefinition и visitInputFieldDefinition.

Но проблема в том, что у argument'ов и input field'ов в field нет resolve.

3 ответов

19 просмотров

Мне кажется, что лучше будет сделать две мутации updatePost и adminUpdatePost. Так будет понятнее со стороны клиента что использовать, и проще со стороны сервера в реализации

Вешай свои директивы на ARGUMENT_DEFINITION и INPUT_FIELD_DEFINITION. Но вот считывай их через visitFieldDefinition: - получил филд конфиг и провалился в его аргументы и типы аргументов - если где-то в глубине нашел свою директиву, то на текущем филд конфиге правишь резолвер. По другому у тебя никак не получится.

https://nexus.js.org/docs/future-features

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта