如何将我的 hasura 权限设置为仅查看与用户对应的 table 行?

How do I set my hasura permission to only see the rows of my table corresponding to a user?

事情是这样的。我在这里描述了 3 tables:

我的应用程序上的人可以下订单。那么,我要

orders table,我可以为每个订单获得一个 zip。使用 table zip_user,我可以从 zip 中得到 user_id。在 user_id 之外,我可以从 users table.

中获取送货用户

虽然让 rex 查看所有 orders table 是微不足道的,但我还无法配置 delivery 的权限用户。我需要做什么?

换句话说,如果用户在 orders table 上执行 select,x-hasura-user-id 设置为某个用户 ID,x-hasura-role 设置为delivery,该用户如何仅从 orders table 中获取与该用户的 user_id 关联的 zip 匹配的行?

哈修罗有关系的概念。如果你有外键,它会自动创建关系,如果没有,你可以在 UI 中自己创建它们。建立关系后,您将能够设置深层权限,因此在 orders table 上,您将能够使用 users.id.

从这里开始:https://hasura.io/docs/1.0/graphql/manual/schema/relationships/index.html