Ian
06/27/2018, 6:46 PMtype User{
id: ID! @unique
name: String!
rating: Int! @default(value: "0")
createdAt: DateTime!
updatedAt: DateTime!
listings: [Listing!]! @relation(name: "ListingsByUser" onDelete: CASCADE)
}
type Listing {
id: ID! @unique
title: String!
content: String!
published: Boolean! @default(value: "true")
createdAt: DateTime!
updatedAt: DateTime!
author: User! @relation(name: "ListingsByUser")
}
My seed:
mutation {
user: createUser(
data: {
name: "Ian Jamieson"
rating: 0
listings: {
create: {
title: "Test title"
content: "lorem ipsum"
}
}
}
) {
id
}
}
Listing returns the user ok, but my user listings returns null
{
"data": {
"users": [
{
"id": "cjiw9mopw000407197os3fu9d",
"name": "Ian Jamieson",
"rating": 0,
"listings": null
}
]
}
}
Is there something I'm missing?
Found out it's my resolvers index.js
import * as path from "path";
import { mergeResolvers, fileLoader } from "merge-graphql-schemas";
const resolversArray = fileLoader(path.join(__dirname, "./**/*.resolvers.*"));
const resolvers = mergeResolvers(resolversArray);
export default resolvers;
So how do i merge them properly?nilan
06/28/2018, 9:12 AMListing returns the user ok, but my user listings returns null
Ian
06/29/2018, 8:00 AMexport default {
Query: {
listings: (_, args, context, info) => {
return context.prisma.query.listings(
{
where: {
OR: [
{ title_contains: args.searchString },
{ content_contains: args.searchString },
],
},
},
info,
)
}
},
Mutation: {
createDraft: (_, args, context, info) => {
return context.prisma.mutation.createListing(
{
data: {
title: args.title,
content: args.title,
author: {
connect: {
id: args.authorId,
},
},
},
},
info,
)
},
publish: (_, args, context, info) => {
return context.prisma.mutation.updateListing(
{
where: {
id: args.id,
},
data: {
published: true,
},
},
info,
)
},
deleteListing: (_, args, context, info) => {
return context.prisma.mutation.deleteListing(
{
where: {
id: args.id,
},
},
info,
)
},
},
}
export default {
Query: {
users: (_, args, context, info) => {
return context.prisma.query.users(
info,
)
},
user: (_, args, context, info) => {
return context.prisma.query.user(
{
where: {
id: args.id,
},
},
info,
)
},
},
Mutation: {
createUser: (_, args, context, info) => {
return context.prisma.mutation.createUser(
{
data: {
name: args.name,
username: args.username,
email: args.email,
firstName: args.firstName,
lastName: args.lastName,
},
},
info,
)
},
}
}
Ian
06/29/2018, 8:01 AM# Try to write your query
query {
users {
id
username
name
firstName
lastName
email
rating
listings {
title
content
}
}
}
Is has to do with my merge resolvers, if i put them straight into my index.js file, it works fine