サーバーをセットアップprisma
し、graphql yoga
両方の GraphQL プレイグラウンドを利用できるようにしました。
現在取得しようとしている会話を正常に作成できました。この単純なリゾルバーを Yoga GraphQL Playground で動作させることができません。
const resolvers = {
Query: {
conversation(parent: any, { id }: { id: string }, { prisma }: Context) {
return prisma.conversation( { id } )
}
},
Mutation: mutation
}
私はこのクエリを使用しました:
query getConversation {
conversation(where: {
id: "cjrqzinj4004e0a30ch4pccml"
}) {
id
title
}
}
エラーメッセージは次のとおりです。
{
"data": {
"conversation": null
},
"errors": [
{
"message": "You provided an invalid argument for the where selector on Conversation.",
"locations": [
{
"line": 2,
"column": 3
}
],
"path": [
"conversation"
],
"code": 3040,
"requestId": "local:cjrsahjoo00ai0a30a5y8mnvp"
}
],
"extensions": {}
}
クエリは Prisma GraphQL プレイグラウンドで機能します。
ここに私のデータモデルがあります:
type User {
id: ID! @unique
oauthId: String! @unique
display: String!
picture: String!
likes: [Comment!]! @relation(name: "Likes")
dislikes: [Comment!]! @relation(name: "Dislikes")
bookmarks: [Comment!]! @relation(name: "Bookmarks")
authorOf: [Comment!]! @relation(name: "Author")
starterOf: [Conversation!]! @relation(name: "Starter")
}
type Attachment {
id: ID! @unique
name: String!
createOn: DateTime!
mediaType: String!
comment: Comment! @relation(name: "Attachments")
}
type Comment {
id: ID! @unique
author: User! @relation(name: "Author")
content: String!
createDate: DateTime!
parentConversation: Conversation @relation(name: "Conversation")
parentComment: Comment @relation(name: "Replies")
comments: [Comment!]! @relation(name: "Replies")
bookmarkedBy: [User!]! @relation(name: "Bookmarks")
likedBy: [User!]! @relation(name: "Likes")
dislikedBy: [User!]! @relation(name: "Dislikes")
attachments: [Attachment!]! @relation(name: "Attachments")
}
enum ParentType {
Organization,
Portfolio,
Project,
WbsComponent,
WorkItem
}
type Parent {
id: ID! @unique
parent: String! @unique
type: ParentType!
conversations: [Conversation!]! @relation(name: "Parent")
}
type Conversation {
id: ID! @unique
parent: Parent! @relation(name: "Parent")
organization: String!
title: String!
author: User! @relation(name: "Starter")
createdOn: DateTime!
comments: [Comment!]! @relation(name: "Conversation")
}