В Keystone JS В проекте GraphQL я пытаюсь создать новый объект данных («Статья») в хуке «resolInput» другого существующего объекта данных («Предложение» - при предложении утвержден, я создаю статью на основе этих предложений).
Это работало нормально с использованием адаптера Mon goose, но я пытался сделать это с помощью встроенного API-интерфейса GraphQL, используя keystone.executeQuery
и я получаю следующую ошибку:
Мой список статей связан с одним предложением (я опускаю другие поля)
fields: {
proposal: {
isUnique: false,
type: fields_1.Relationship,
ref: 'Proposal',
access: {
create: true,
read: true,
update: false
}
}
}
и я создаю новую Статью таким образом (я опускаю некоторый код)
hooks: {
resolvedInput: async params => {
const articleCreateInput = {
title: cleanTitle,
text: cleanText,
visible: HIDDEN,
proposal: {
connect: {
id: proposalId
}
}
};
const articleCreationResult = await keystone.executeQuery(createArticle, { variables: articleCreateInput });
}
}
Насколько я понимаю, это правильный способ сделать это, используя connect , соединяющий существующий элемент с тем, который вы создаете.
Мой запрос
const createArticle = `mutation createArticle($data:ArticleCreateInput) {
createArticle(data:$data) {
id
title
visible
publishDate
}
} `;
и насколько я вижу, я правильно следую схеме
Я уверен, что совершаю очевидную ошибку, но в данный момент я ее не вижу - и я я не уверен, является ли эта ошибка ошибкой GraphQL или ошибкой Keystone JS (или обеими).