type Query { allNodes: [Node] nodeById(id: String!): Node allRooms(nodeId: String!): [Room] roomById(nodeId: String!, roomId: String!): Room userById(id: String!): User! searchUser(input: String!): [User] } type Node { id: String! method: String! rooms: [Room] countRooms: Int! persist: Boolean! } type Room { id: String! nodeId: String! node: Node! slots: Int! payload: String! locked: Boolean! users: [User] countUsers: Int! persist: Boolean! } type User { id: String! rooms: [Room] countRooms: Int! }