graphql - GraphQL:@auth 标头中的访问类型属性
问题描述
假设我有一个类似于以下的 GraphQL 架构:
type Posts
@model
@auth(rules: [
{allow: groups, groups: ["Employees"], mutations: [create, update, delete, get, list]}
])
{
id: ID!
name: String
groups: [String]!
}
而且我想只允许帖子属性中列出的用户groups
拥有这些属性。我想做类似的事情:
@auth(rules: [
{allow: groups, groups: [Device.groups], mutations: [create, update, delete, get, list]}
]
任何想法从哪里开始?我对 GraphQL 比较陌生,我完全有可能完全走错了方向。请帮忙。
编辑
我设法通过修改解析器来实现类似的结果。在 的情况下list
,它看起来像这样:
other code...
#foreach( $postGroup in $item.groups )
#foreach( $userGroup in $userGroups )
#if( $postGroup == $userGroup )
$util.qr($items.add($item))
#end
#end
#end
...other code
这当然是一种非常低效的方法(即嵌套的 foreach 循环),但这源于我对 Apache VLT 的了解不足,并且会在某个时候得到解决。
但是,我仍然想知道,是否可以直接在 GraphQL 模式中执行此操作?
解决方案
不幸的是,GraphQL 转换尚不支持这一点,但这是一个有趣的用例,我认为我们应该进一步研究。您能否在此处添加功能请求https://github.com/aws-amplify/amplify-cli/issues并提供您的用例和建议,以说明如何以通用方式最好地实现此功能。谢谢!
推荐阅读
- pandas - 在 pandas 分组后使用 HAVING
- php - 如何不手动将日历上带有红色突出显示的日期设置为数组
- ansible - 无法使用 ansible shell 模块获取二进制路径
- c# - 忽略的卫星组件
- c# - 在 Blazor 中取消事件 (onchange) 或检索旧值
- pytorch - 如何在pytorch中找到内置函数源代码
- ios - 使用 UIDocumentBrowserViewController 选择文件夹
- javascript - 在单击屏幕后立即记录 componentDidUpdate 更新
- java - 循环序列停止
- ios - 如何提供对 Google 帐户的无条件访问权限?