How to update part of my amplify graphql model?

I am new with Aws Amplify and GraphQL and I am trying to find the best way to handle the following:

I want to be able to edit my FAQ in the frontend. The frontend gets the data from the backend, i edit one field in the frontend and save it, it should be stored in the backend

I have created a simple amplify graphql schema:

type FAQ @model(timestamps: null) {
  id: ID!
  sectionTitle: String
  questionAndAnswer: [QuestionAndAnswer!]!
}

type QuestionAndAnswer {
  id: ID!
  question: String
  answer: String
}

Then I populated it so it contains the following data:

{
  "data": {
    "listFAQS": {
      "items": [
        {
          "sectionTitle": "Title2",
          "id": "22735682-2bab-4695-b93e-1e50642d4654",
          "questionAndAnswer": [
            {
              "answer": "answer4",
              "id": "4",
              "question": "question4"
            },
            {
              "answer": "answer5",
              "id": "5",
              "question": "question5"
            },
            {
              "answer": "answer6",
              "id": "6",
              "question": "question6"
            }
          ]
        },
        {
          "sectionTitle": "Title1",
          "id": "21be8234-69f2-47fe-b942-d3e655197c70",
          "questionAndAnswer": [
            {
              "answer": "answer1",
              "id": "1",
              "question": "question1"
            },
            {
              "answer": "answer2",
              "id": "2",
              "question": "question2"
            },
            {
              "answer": "answer3",
              "id": "3",
              "question": "question3"
            }
          ]
        }
      ]
    }
  }
}

Is there an easy way I can only change for instance the question “question4” without having to send the whole FAQ “row”?

When I was experimenting with it it seemed that the whole array was reseted and only the new data was saved. Should both FAQ and QuestionAndAnswer be a @model each where I connect them with @connection and update them separately as needed?

Source link