type Query { citizen(id: ID!): Citizen } type Mutation { updateEmail(id: ID!, email: String!): Citizen! } type Citizen { id: ID! name: String! email: String primaryAddress: Address openCases(first: Int = 10, after: String): CaseConnection! } type Address { postcode: String! } type Case { id: ID!, category: String!, status: String! } type CaseEdge { cursor: String!, node: Case! } type CaseConnection { edges: [CaseEdge!]!, pageInfo: PageInfo! } type PageInfo { hasNextPage: Boolean!, endCursor: String }