Как можно использовать переменную graphql в разрешении в Hasura?
У меня мутация. Как я могу создать разрешение в hasura, используя переменные в запросе graphql?
например:
mutation MyMutation($name:String!) {
insert_post(objects: {name:$name}){
name
}
}
Как я могу использовать name
переменная в разрешении?
2 ответа
Hasura v2 теперь позволяет использовать такой шаблон.
Например, если у вас есть таблица со списком разрешенных имен, вы можете проверить, находится ли вставляемое имя в списке разрешенных имен, выполнив что-то вроде этого:
insert_permissions:
- role: user
permission:
check:
_exists:
_table:
name: allowed_names
schema: public
_where:
name:
_ceq: ["$", "name"]
Смотрите также:
https://github.com/hasura/graphql-engine/issues/3459#issuecomment-1085666541
https://hasura.io/docs/latest/graphql/core/api-reference/syntax-defs/
Это я в Discord.
Просто у кого-то такой же вопрос. В настоящее время Hasura не поддерживает проверку разрешения на ввод значения пользователем, она принимает только значение изsession variables
подобно x-hasura-user-id
, так далее.
Но я думаю, что подход Хасуры верен, когда не позволяет устанавливать базу разрешений при вводе пользователем.
Если мой ответ неправильный, исправьте, спасибо.