schema { query: Query mutation: Mutation } type Comment { author: String! content: String! downvotes: Int id: ID! postId: String! upvotes: Int } type Mutation { createComment(author: String!, content: String!, postId: String!): Comment createPost(author: String!, content: String!): Post downvoteComment(id: ID!): Comment incrementViewCount(id: String!): Post upvoteComment(id: ID!): Comment } type Post { author: String! comments: [Comment] content: String! id: ID! views: Int } type Query { getCommentsByAuthor(author: String!): [Comment] getCommentsOnPost(postId: String!): [Comment] getNumberOfCommentsOnPost(postId: String!): Int getPost(id: String!): Post getPostsByAuthor(author: String!): [Post] }