AWS усиливает правила авторизации, которые относятся к отношениям

#amazon-web-services #graphql #authorization #aws-amplify #aws-appsync

Вопрос:

У меня есть 3 модели: Пользователь, Список покупок и Товар. Товар принадлежит списку покупок, а список покупок принадлежит Пользователю. Ниже приведена схема grphql

 type User @model{  id: ID!  email: String!  name: String  shoppingLists: [ShoppingList] @connection(keyName: "byUser", fields: ["id"]) }  type ShoppingList @model  @auth(rules: [{ allow: owner, ownerField: "userId" }])   @key(name: "byUser", fields: ["userId"]){  id: ID!  name: String!  description: String  items: [Item] @connection(keyName: "byShoppingList", fields: ["id"])  userId: ID  user: User @connection(fields: ["userId"]) }  type Item @model  @key(name: "byShoppingList", fields: ["shoppingListId"]){  id: ID!  name: String!  description: String  shoppingListId: ID!  shoppingList: ShoppingList @connection(fields: ["shoppingListId"]) }  

Как применить правила аутентификации к элементу, чтобы доступ к нему имел только владелец, без сохранения поля Идентификатор пользователя (добавление @auth(rules: [{ allow: owner, ownerField: "userId" }]) к типу элемента) в каждом объекте? Список покупок уже знает, какому пользователю он принадлежит, поэтому я хочу, чтобы элемент получил его из списка покупок.