Создание с несколькими связанными записями — Последовательность

#sequelize.js

Вопрос:

Я пытаюсь понять, как вставить несколько связанных записей с помощью Sequelize.

Я могу проиллюстрировать, чего я пытаюсь достичь, показав эту мутацию:

 mutation {
  createUser( input : {
      name: "John"
      projectTitle: "Car"
      projectSize: "5"
  })
}
 

Если я хочу создать несколько записей (проектов), связанных с «Джоном» в одной и той же мутации, как я могу это сделать? Я думал, что смогу сделать что-то вроде:

 mutation {
  createUser( input : {
      name: "John"
      projects: [{
         projectTitle: "Project1"
         projectSize: "5"
      },
       {
         projectTitle: "Project2"
         projectSize: "15"
      }]
  })
 

}

Но, конечно, «проекты» не определены. Вот псевдокод, есть идеи о том, как воспроизвести предыдущую мутацию?

 var User = sequelize.define('user', {
  id: { type: Sequelize.INTEGER, primaryKey: true},
  name: Sequelize.STRING,
})

var Project = sequelize.define('project', {
  id: { type: Sequelize.INTEGER, primaryKey: true},
  title: Sequelize.STRING,
})

Project.belongsTo(User, {foreignKey: 'user_id'})
User.hasMany(Project)
 

Схема:

  type User {
    id: Int!
    name: String
    projects: [Project]
 }
 type Project {
   id: Int!
   title: String
   size: String
 }
 input CreateUser {
    name: String
    projectTitle: String
    projectSize: String
 }
 

Вот решатель для мутации:

  Mutation: {
   createUser: async (parent, { input }, { models }, info) => {
      const user = await models.User.create({
      name: input.name,
      projects: [{
        title: input.projectTitle
        size: input.projectSize
      }]
   },
   { 
      include: [
         {   model: models.Project,
             as: "projects",
         }
      ]
  })