Как заставить функцию разрешений Hasura работать, когда задействованы две таблицы? - PullRequest
1 голос
/ 21 января 2020

Используя Hasura GraphQL Engine, учитывая следующую диаграмму:

enter image description here

Как я могу ограничить действие select для таблицы company, чтобы просто разрешить выбрать запись компании, связанную (fk) с пользователем в таблице user?

Конечно, я использую переменную сеанса x-hasura-user-id . Но как обратиться к «текущему» company_id, просматривая таблицу user?

Это простой вопрос, но, зная это, я смогу сделать более сложные проверки в будущем.

1 Ответ

2 голосов
/ 21 января 2020

Хорошо, я сделал это.

Я использовал X-Hasura-User-Id с X-Hasura-Default-Role переменными сеанса, затем каждый запрос возвращал все записи, и это не то, что я пытался сделать. После нескольких часов исследований я обнаружил, что мне нужно использовать X-Hasura-Role вместо X-Hasura-Default-Role.

Это решило мою проблему, надеюсь, это будет полезно для кого-то с такой же проблемой.

...