【发布时间】:2019-02-07 13:43:48
【问题描述】:
假设我有一个类似于以下内容的 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 aws-appsync aws-amplify