Ожидаемое значение переменной $ data типа «VoteCreateInput» - PullRequest
0 голосов
/ 10 октября 2019

Когда я пытаюсь сделать мутацию «голосования», получаю ошибку ниже. Мои другие мутации работают нормально. Когда я пытаюсь сделать мутацию "голосования", получаю ошибку ниже. Мои другие мутации работают нормально. Когда я пытаюсь сделать мутацию "голосования", получаю ошибку ниже. Мои другие мутации работают нормально.

"data": null,
"errors": [
{
  "message": "Variable '$data' expected value of type 'VoteCreateInput!' but 
 got: {\"user\":{\"connect\": 
 {\"id\":\"ck1j3nzi68oef090830r8wd6b\"}},\"link\":{\"connect\": 
 {\"id\":\"ck1j58loj8x570908njwe4eu7\"}}}. Reason: 'User' Expected non-null 
  value, found null. (line 1, column 11):\nmutation ($data: 
  VoteCreateInput!) {\n          ^",
  "locations": [
    {
      "line": 2,
      "column": 3
    }
  ],
  "path": [
    "vote"
  ]
 }
]

Мутация

async function vote(parent, args, context, info) {
// 1
const userId = getUserId(context)

// 2
const linkExists = await context.prisma.$exists.vote({
  user: { id: userId },
  link: { id: args.linkId },
})

if (linkExists) {
  throw new Error(`Already voted for link: ${args.linkId}`)
}

// 3
return context.prisma.createVote({
  user: { connect: { id: userId } },
  link: { connect: { id: args.linkId } },
})

}

datamodel.schema

type Link {
id: ID! @id
createdAt: DateTime! @createdAt
description: String!
url: String!
postedBy: User
votes: [Vote!]!
}

type User {
id: ID! @id
name: String!
email: String @unique
password: String!
links: [Link!]!
votes: [Vote!]!
}

type Vote {
id: ID! @id
link: Link!
user: User!
}

schema.graphql

type Mutation {
vote(linkId: ID!): Vote!
}

type Link {
id: ID!
description: String!
url: String!
postedBy: User
votes: [Vote!]!
}

1 Ответ

0 голосов
/ 18 октября 2019

Был сбой в базе данных призмы, которая не обновлялась при изменении модели данных. Я создал новый экземпляр БД, и теперь он работает нормально.

...