type Axis { id: ID! name: String! subjects: [Subject!]! } type Category { id: ID! name: String! subjects: [Subject!]! } """ Autogenerated input type of CreateQuestion """ input CreateQuestionInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String question: QuestionCreateInput! } """ Autogenerated return type of CreateQuestion """ type CreateQuestionPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ Errors encountered during execution of the mutation. """ errors: [String!]! question: Question } """ Autogenerated input type of CreateReviewMessage """ input CreateReviewMessageInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String message: ReviewMessageInput! } """ Autogenerated return type of CreateReviewMessage """ type CreateReviewMessagePayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ Errors encountered during execution of the mutation. """ errors: [String!]! reviewMessage: ReviewMessage } input DateRangeInput { endAt: ISO8601Date! startAt: ISO8601Date! } """ Autogenerated input type of DestroyQuestion """ input DestroyQuestionInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String questionId: ID! } """ Autogenerated return type of DestroyQuestion """ type DestroyQuestionPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String deletedQuestionId: ID """ Errors encountered during execution of the mutation. """ errors: [String!]! } """ Autogenerated input type of FinishQuestion """ input FinishQuestionInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String questionId: ID! } """ Autogenerated return type of FinishQuestion """ type FinishQuestionPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ Errors encountered during execution of the mutation. """ errors: [String!]! question: Question } """ An ISO 8601-encoded date """ scalar ISO8601Date """ An ISO 8601-encoded datetime """ scalar ISO8601DateTime type Mutation { createQuestion( """ Parameters for CreateQuestion """ input: CreateQuestionInput! ): CreateQuestionPayload createReviewMessage( """ Parameters for CreateReviewMessage """ input: CreateReviewMessageInput! ): CreateReviewMessagePayload destroyQuestion( """ Parameters for DestroyQuestion """ input: DestroyQuestionInput! ): DestroyQuestionPayload finishQuestion( """ Parameters for FinishQuestion """ input: FinishQuestionInput! ): FinishQuestionPayload updateQuestion( """ Parameters for UpdateQuestion """ input: UpdateQuestionInput! ): UpdateQuestionPayload } """ An object with an ID. """ interface Node { """ ID of the object. """ id: ID! } """ Information about pagination in a connection. """ type PageInfo { """ When paginating forwards, the cursor to continue. """ endCursor: String """ When paginating forwards, are there more items? """ hasNextPage: Boolean! """ When paginating backwards, are there more items? """ hasPreviousPage: Boolean! """ When paginating backwards, the cursor to continue. """ startCursor: String } type Query { currentUser: User """ Fetches an object given its ID. """ node( """ ID of the object. """ id: ID! ): Node """ Fetches a list of objects given a list of IDs. """ nodes( """ IDs of the objects. """ ids: [ID!]! ): [Node]! questionFilterOptions: QuestionFilterOptions! questions( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int where: QuestionWhereInput ): QuestionConnection! reviewers( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): UserConnection! subjects( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): SubjectConnection! } type Question implements Node { alternatives: [QuestionAlternative!]! authorship: String authorshipYear: String bloomTaxonomy: QuestionBloomTaxonomy body: String checkType: QuestionCheckType createdAt: ISO8601DateTime! difficulty: QuestionDifficulty explanation: String id: ID! instruction: String intention: String references: String reviewMessages( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int ): ReviewMessageConnection! reviewer: User status: QuestionStatus! subject: Subject support: String updatedAt: ISO8601DateTime! user: User! } type QuestionAlternative { correct: Boolean! text: String } input QuestionAlternativeInput { correct: Boolean text: String } enum QuestionBloomTaxonomy { ANALYZE APPLY CREATE EVALUATE REMEMBER UNDERSTAND } enum QuestionCheckType { ASSERTION_AND_REASON ASSOCIATION CONSTANT_ALTERNATIVES GAP INCOMPLETE_AFFIRMATION INTERPRETATION MULTIPLE_ANSWER NEGATIVE_FOCUS ORDERING_OR_RANKING UNIQUE_ANSWER } """ The connection type for Question. """ type QuestionConnection { """ A list of edges. """ edges: [QuestionEdge!]! """ A list of nodes. """ nodes: [Question!]! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int! } input QuestionCreateInput { alternatives: [QuestionAlternativeInput!]! authorship: String! authorshipYear: String! bloomTaxonomy: QuestionBloomTaxonomy body: String! checkType: QuestionCheckType difficulty: QuestionDifficulty explanation: String! instruction: String! intention: String references: String! reviewerUserId: ID status: QuestionStatus! subjectId: ID support: String! } enum QuestionDifficulty { EASY HARD MEDIUM } """ An edge in a connection. """ type QuestionEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: Question } type QuestionFilterOptions { years: [String!]! } enum QuestionStatus { APPROVED DRAFT REGISTERED WAITING_REVIEW WITH_REQUESTED_CHANGES } input QuestionUpdateInput { alternatives: [QuestionAlternativeInput!]! authorship: String! authorshipYear: String! bloomTaxonomy: QuestionBloomTaxonomy body: String! checkType: QuestionCheckType difficulty: QuestionDifficulty explanation: String! id: ID! instruction: String! intention: String references: String! reviewerUserId: ID status: QuestionStatus! subjectId: ID support: String! } input QuestionWhereInput { authorshipYear: [String!] bloomTaxonomy: [QuestionBloomTaxonomy!] checkType: [QuestionCheckType!] createDate: DateRangeInput difficulty: [QuestionDifficulty!] status: [QuestionStatus!] subjectId: ID unifesoAuthorship: Boolean userId: ID } type ReviewMessage { createdAt: ISO8601DateTime! feedbackType: ReviewMessageFeedbackType! id: ID! question: Question! text: String! updatedAt: ISO8601DateTime! user: User! } """ The connection type for ReviewMessage. """ type ReviewMessageConnection { """ A list of edges. """ edges: [ReviewMessageEdge!]! """ A list of nodes. """ nodes: [ReviewMessage!]! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int! } """ An edge in a connection. """ type ReviewMessageEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: ReviewMessage } enum ReviewMessageFeedbackType { ANSWER APPROVE REQUEST_CHANGES } input ReviewMessageInput { feedbackType: ReviewMessageFeedbackType! questionId: ID! text: String! } type Subject { axis: Axis! category: Category! id: ID! name: String! questions( """ Returns the elements in the list that come after the specified cursor. """ after: String """ Returns the elements in the list that come before the specified cursor. """ before: String """ Returns the first _n_ elements from the list. """ first: Int """ Returns the last _n_ elements from the list. """ last: Int where: QuestionWhereInput ): QuestionConnection! } """ The connection type for Subject. """ type SubjectConnection { """ A list of edges. """ edges: [SubjectEdge!]! """ A list of nodes. """ nodes: [Subject!]! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int! } """ An edge in a connection. """ type SubjectEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: Subject } """ Autogenerated input type of UpdateQuestion """ input UpdateQuestionInput { """ A unique identifier for the client performing the mutation. """ clientMutationId: String question: QuestionUpdateInput! } """ Autogenerated return type of UpdateQuestion """ type UpdateQuestionPayload { """ A unique identifier for the client performing the mutation. """ clientMutationId: String """ Errors encountered during execution of the mutation. """ errors: [String!]! question: Question } type User { avatarUrl: String email: String! id: ID! name: String! roles: [UserRole!]! } """ The connection type for User. """ type UserConnection { """ A list of edges. """ edges: [UserEdge!]! """ A list of nodes. """ nodes: [User!]! """ Information to aid in pagination. """ pageInfo: PageInfo! totalCount: Int! } """ An edge in a connection. """ type UserEdge { """ A cursor for use in pagination. """ cursor: String! """ The item at the end of the edge. """ node: User } enum UserRole { ADMIN CENTER_DIRECTOR COORDINATOR NDE PRO_RECTOR TEACHER }