gajus
08/21/2016, 9:19 PMgajus
08/22/2016, 10:32 AMgajus
08/22/2016, 10:32 AMgajus
08/22/2016, 10:32 AMgajus
08/22/2016, 10:32 AMschema {
query: Query
mutation: Mutation
}
type Blog {
id: ID!
eventName: String
eventUrl: String
eventStartAt: String
eventEndAt: String
posts: [Post]
}
input CreateBlogInput {
eventName: String
eventUrl: String
eventStartAt: String
eventEndAt: String
}
input CreatePostInput {
blogId: ID!
name: String!
body: String!
imageUrl: String
}
input DeletePostInput {
id: ID!
}
type Mutation {
createBlog(blog: CreateBlogInput): Blog
createPost(post: CreatePostInput): Post
deleteBlog(id: ID!): Blog
deletePost(post: DeletePostInput): Post
updateBlog(blog: UpdateBlogInput): Blog
updatePost(post: UpdatePostInput): Post
}
type Post {
id: ID!
name: String!
body: String!
blog: Blog
}
type Query {
user(id: ID!): User
blog(id: ID!): Blog
}
input UpdateBlogInput {
eventName: String
eventUrl: String
eventStartAt: String
eventEndAt: String
}
input UpdatePostInput {
id: ID!
name: String
body: String
imageUrl: String
}
type User {
id: ID!
firstName: String!
lastName: String!
}
gajus
08/22/2016, 10:32 AMsorenbs
gajus
08/22/2016, 10:36 AMgajus
08/22/2016, 10:40 AMgajus
08/22/2016, 10:40 AMgajus
08/22/2016, 10:40 AMsorenbs
gajus
08/22/2016, 10:42 AMgajus
08/22/2016, 10:43 AMsorenbs
gajus
08/22/2016, 10:46 AMschickling
08/22/2016, 12:41 PMgajus
08/22/2016, 12:59 PMgajus
08/22/2016, 12:59 PMschickling
08/22/2016, 12:59 PMgajus
08/22/2016, 1:40 PMgajus
08/22/2016, 1:40 PMgajus
08/22/2016, 1:41 PMconst getSchemaTypeField = (schema, typeName, fieldName) => {
const type = schema.getType(typeName);
if (type === undefined) {
throw new Error('"' + typeName + '" type does not exist in the schema.');
}
const fields = type.getFields();
const field = fields[fieldName];
if (field === undefined) {
throw new Error('"' + typeName + '" type does not have "' + fieldName + '" field.');
}
return field;
};
const addResolveToSchemaMethod = (schema, typeName, fieldName, resolveFunction) => {
const field = getSchemaTypeField(schema, typeName, fieldName);
field.resolve = resolveFunction;
};
addResolveToSchemaMethod(schema, 'Query', 'user', () => {
return {
id: '2'
}
});
addResolveToSchemaMethod(schema, 'User', 'id', () => {
return '3';
});
gajus
08/22/2016, 1:41 PMschickling
08/22/2016, 2:05 PMolivierandriessen
08/22/2016, 4:13 PMnilan
08/22/2016, 4:14 PMrene
08/22/2016, 4:14 PMgerardsans
08/24/2016, 12:19 PMpraneybehl
08/25/2016, 9:15 AM