Я использую GraphQL, чтобы попытаться создать запись, имеющую отношение к другому типу. Типы: Задача и День
datamodel.graphql:
type Task {
id: ID! @unique
content: String!
completed: Boolean!
dateToDo: Day!
}
type Day {
id: ID! @unique
content: String!
tasks: [Task]
}
Я хочу создать задачу, чтобы в ней была указана дата ее завершения (из типа "День")
schema.graphql
type Mutation {
createTask(content: String!, completed: Boolean!, dateToDo: ID! ): Task!
}
мой распознаватель мутаций выглядит так:
const Mutations = {
async createTask(parent, args, ctx, info) {
const task = await ctx.db.mutation.createTask(
{
data: {
dateToDo: {
connect: {
id: args.dateToDo
}
},
...args
}
},
info
);
return task;
},
когда я запускаю эту мутацию для создания задачи:
mutation CREATE_ONE_TASK {
createTask(
content: "a new task",
completed: false,
dateToDo: "cjqycv9dtjklr09179y9zfntq")
{
id
}
}
Я получаю эту ошибку:
"message": "Переменная \" $ _ v0_data \ "получила недопустимое значение
{\ "dateToDo \": \ "cjqycv9dtjklr09179y9zfntq \", \ "content \": \ "новый
задача \ ", \" выполнено \ ": false}; ожидаемый тип
DayCreateOneWithoutTasksInput для объекта в value.dateToDo. ",
Мои вопросы: правильно ли я использую соединение в распознавателе мутаций? И что за хрень DayCreateOneWithoutTasksInput (я вижу, что он был автоматически добавлен в prisma.graphql) и как я могу использовать его для создания Задачи, которая имеет отношение к ID Дня?