cedric
11/07/2018, 7:53 PMcedric
11/07/2018, 7:53 PMcedric
11/07/2018, 7:54 PMtype Person {
id: ID!
name: String!
email: String!
birthday: String
phoneNumber: String
}
type User {
id: ID!
person: Person!
isDisabled: Boolean!
}
cedric
11/07/2018, 7:54 PMcreateUser
mutationcedric
11/07/2018, 7:55 PMperson
, so i can pass it something like this to create the user and associated person at the same timecedric
11/07/2018, 7:55 PMcreateUser: (root, { name, email }, { prisma: Prisma }, info) => {
return prisma.createUser({
isDisabled: false,
person: { create: { name, email } }
});
}
cedric
11/07/2018, 7:55 PMcedric
11/07/2018, 7:56 PMcedric
11/07/2018, 7:56 PMmutation {
createUser(
data: {
isDisabled: true,
person: {
create: {
name: "Cedric",
email: "<mailto:cedric@spantree.net|cedric@spantree.net>"
}
}
}
) {
id
isDisabled
person {
id
name
email
}
}
}
cedric
11/07/2018, 7:56 PMUserPromise
is nullcedric
11/07/2018, 7:57 PMcedric
11/07/2018, 7:58 PMcedric
11/07/2018, 7:58 PMcedric
11/07/2018, 8:12 PMinfo.fieldNodes[0].selectionSet.selections
returns an object containing the fields requestedcedric
11/07/2018, 8:13 PM$fragment(x)
takes a DocumentNode
as an argumentcedric
11/07/2018, 8:13 PMcedric
11/07/2018, 9:07 PMcedric
11/07/2018, 9:11 PMMutation: {
createPerson: (_, { name, email}, { prisma: Prisma }) => prisma.createPerson({name, email}),
createUser: (_, { name, email }, { binding }, info: GraphQLResolveInfo) => {
const person = { create: { name, email } };
const data = { isDisabled: false, person: person };
return binding.mutation.createUser({data: data}, info);
}
}