Скажем, у меня есть схема 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, и вполне возможно, что я совершенно не в том направлении. Пожалуйста, помогите.
EDIT
Мне удалось добиться аналогичного результата, изменив распознаватель. В случае 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?