Как связать данные из пула пользователей с моделью aws appsyn c - PullRequest
0 голосов
/ 23 января 2020

Я новичок для усиления и аппсин c. Я пытаюсь создать модель публикации, которая должна иметь отношения с пользователем, который создает публикацию. Проблема в том, что мой пользователь из пула пользователей Cognito.

То, что я хочу, это пользователь из Cognito. Я не хочу создавать новую таблицу пользователей на DB Dynamo, потому что в пуле пользователей Cognito уже есть информация. Я просто хочу получить информацию о пользователе, которая создает эту публикацию, если я запрос к сообщению.

Как мне создать эту взаимосвязь?

Я создаю apl amlify следующим образом

? Please select from one of the below mentioned services: GraphQL
? Choose the default authorization type for the API API key
? Enter a description for the API key: 
? After how many days from now the API key should expire (1-365): 7
? Do you want to configure advanced settings for the GraphQL API Yes, I want to make some additional changes.
? Configure additional auth types? Yes
? Choose the additional authorization types you want to configure for the API Amazon Cognito User Pool
Cognito UserPool configuration
Use a Cognito user pool configured as a part of this project.
? Configure conflict detection? No

Вот моя текущая схема.grapql

type Post
    @model
    @versioned
    @aws_cognito_user_pools
    @auth(rules: [{ allow: owner, queries: null }, { allow: public }]) {
    id: ID!
    title: String!
    content: String
    thumb: String
    slug: String!
    allow_comments: Boolean
    owner: String!
    post_type: String!
    add_to_nav: Boolean!
    version: Int!
    comments: [Comment] @connection(name: "PostComments")
}

type Comment
    @model
    @versioned
    @aws_cognito_user_pools
    @auth(rules: [{ allow: owner, queries: null }]) {
    id: ID!
    content: String
    version: Int!
    post: Post @connection(name: "PostComments")
}

================================================= ========

РЕДАКТИРОВАТЬ: Добавлен результат данных, которые я хочу

Вот запрос, который я хочу выполнить

query ListPost {
  listPosts {
    items {
      title
      content
      owner{
          username
          id
          email
          first_name
          last_name
        }
      }
    }
  }
}

Результат, который я хочу

{
  "data": {
    "listPosts": {
      "items": [
        {
          "title": "title 1"
          "content": "Test long text cotent"
          "owner": {
              "username": "user1"
              "id": "234234234"
              "email": "user1@test.com"
              "first_name": "John"
              "last_name": "Doe"
           }
        },
       {
          "title": "title 1"
          "content": "Test long text cotent"
          "owner": {
              "username": "user1"
              "id": "234234234"
              "email": "user1@test.com"
              "first_name": "John"
              "last_name": "Doe"
           }
        },
      ]
    }
  }
}

Я не могу найти никакой документации, как построить что-то подобное.

...