markus_str
12/10/2018, 3:30 PMPriyank Patel
12/10/2018, 4:29 PMmarkus_str
12/10/2018, 4:32 PMmarkus_str
12/10/2018, 4:34 PMtype User {
id: ID! @unique
fibauid: String! @unique
name: String! @unique
email: String! @unique
reviews: [Review!]
}
type Review {
id: ID! @unique
url: String! #check for URL type in frontend?
author: User!
}
When I use the resolver:
return context.prisma.createReview({
url,
title,
author: {
connect: {
id: userId
},
}
});
I got the error:
"Field \"author\" of type \"User!\" must have a selection of subfields. Did you mean \"author { ... }\"?"
markus_str
12/10/2018, 4:35 PMmarkus_str
12/10/2018, 4:35 PMPriyank Patel
12/10/2018, 5:27 PMPriyank Patel
12/10/2018, 5:35 PMquery {
reviews {
id
url
author {
id
name
}
}
}
markus_str
12/10/2018, 6:47 PMmarkus_str
12/10/2018, 6:47 PMcontext.prisma.createReview({
url,
title,
author: {
connect: {
id: userId
},
}
});
markus_str
12/10/2018, 6:47 PMmarkus_str
12/10/2018, 6:48 PMmarkus_str
12/10/2018, 6:51 PMPriyank Patel
12/10/2018, 6:51 PMmarkus_str
12/10/2018, 6:52 PMcreateReview: async (parent, { url, title }, context, info) => {
const userId = await getUserId(context, info);
return context.prisma.createReview({
url,
title,
author: {
connect: {
id: userId
}
}
});
},
Priyank Patel
12/10/2018, 6:52 PMmarkus_str
12/10/2018, 6:52 PMPriyank Patel
12/10/2018, 6:53 PMPriyank Patel
12/10/2018, 6:54 PMmarkus_str
12/10/2018, 6:54 PMmarkus_str
12/10/2018, 6:54 PMmarkus_str
12/10/2018, 6:54 PMPriyank Patel
12/10/2018, 6:55 PMmutation {
createReview(
url: "<http://google.com>"
title: "Test Title"
) {
id
url
author {
id
name
}
}
}
Priyank Patel
12/10/2018, 6:56 PMmarkus_str
12/10/2018, 6:57 PMconst CREATE_REVIEW_MUTATION = gql`
mutation createReview($title: String!, $url: String!) {
createReview(title: $title, url: $url) {
id
title
url
createdAt
author
}
}
`;
markus_str
12/10/2018, 6:57 PMmarkus_str
12/10/2018, 6:57 PMmarkus_str
12/10/2018, 6:57 PMPriyank Patel
12/10/2018, 6:57 PMconst CREATE_REVIEW_MUTATION = gql`
mutation createReview($title: String!, $url: String!) {
createReview(title: $title, url: $url) {
id
title
url
createdAt
author {
id
}
}
}
`;
Priyank Patel
12/10/2018, 6:57 PMPriyank Patel
12/10/2018, 6:58 PMPriyank Patel
12/10/2018, 6:58 PMmarkus_str
12/10/2018, 6:59 PMmarkus_str
12/10/2018, 7:07 PMmarkus_str
12/10/2018, 7:08 PMmarkus_str
12/10/2018, 7:08 PMPriyank Patel
12/10/2018, 7:12 PMmarkus_str
12/10/2018, 7:17 PMmarkus_str
12/10/2018, 7:17 PMPriyank Patel
12/10/2018, 7:18 PMmarkus_str
12/10/2018, 7:18 PMmarkus_str
12/10/2018, 7:18 PMmarkus_str
12/10/2018, 7:18 PMmarkus_str
12/10/2018, 7:18 PMPriyank Patel
12/10/2018, 7:21 PMmarkus_str
12/10/2018, 7:22 PMmarkus_str
12/10/2018, 7:22 PMmarkus_str
12/10/2018, 7:22 PMmarkus_str
12/10/2018, 7:22 PMcreateUser(name: String!, fibauid: String!, email: String!): User
markus_str
12/10/2018, 7:23 PMmarkus_str
12/10/2018, 7:25 PMmarkus_str
12/10/2018, 7:26 PMPriyank Patel
12/10/2018, 7:29 PMmarkus_str
12/10/2018, 7:30 PMmarkus_str
12/10/2018, 7:30 PMmarkus_str
12/10/2018, 7:40 PMmarkus_str
12/10/2018, 7:40 PMmarkus_str
12/10/2018, 7:40 PMmarkus_str
12/10/2018, 7:49 PMCannot return null for non-nullable field Review.author.
and yet my mutations show up in the database successfullyPriyank Patel
12/10/2018, 7:54 PMPriyank Patel
12/10/2018, 7:55 PMPriyank Patel
12/10/2018, 7:56 PMPriyank Patel
12/10/2018, 7:56 PMmarkus_str
12/10/2018, 7:59 PMmarkus_str
12/10/2018, 7:59 PMmarkus_str
12/10/2018, 7:59 PMmarkus_str
12/10/2018, 7:59 PMReview: {
author: ({ id }, args, context) => {
return context.prisma.review({ id }).author()
},
},
User: {
reviews: ({ id }, args, context) => {
return context.prisma.user({ id }).reviews()
},
},
markus_str
12/10/2018, 7:59 PMmarkus_str
12/10/2018, 8:00 PMmarkus_str
12/10/2018, 8:02 PMmarkus_str
12/10/2018, 8:02 PMmarkus_str
12/10/2018, 8:02 PMmarkus_str
12/10/2018, 8:03 PMmarkus_str
12/10/2018, 8:03 PMmarkus_str
12/10/2018, 8:03 PMPriyank Patel
12/10/2018, 8:10 PMPriyank Patel
12/10/2018, 8:18 PMmarkus_str
12/11/2018, 8:56 AM