diff --git a/server/schema.graphql b/server/schema.graphql index 76603d6c..f2a20535 100644 --- a/server/schema.graphql +++ b/server/schema.graphql @@ -1,5 +1,6 @@ schema { query: Query + mutation: Mutation } type BlockQuoteBlock implements StreamFieldInterface { @@ -275,6 +276,11 @@ type EmbedBlock implements StreamFieldInterface { rawEmbed: JSONString } +type ErrorType { + field: String! + messages: [String!]! +} + type FloatBlock implements StreamFieldInterface { id: String blockType: String! @@ -598,6 +604,10 @@ type MediaLibraryPage implements PageInterface { ancestors(limit: PositiveInt, offset: PositiveInt, order: String, searchQuery: String, id: ID): [PageInterface!]! } +type Mutation { + sendFeedback(input: SendFeedbackInput!): SendFeedbackPayload +} + type Page implements PageInterface { id: ID path: String! @@ -779,6 +789,43 @@ type SecurityRequestResponseLog { id: ID } +input SendFeedbackInput { + id: Int + satisfaction: Int! + goalAttainment: Int! + proficiency: Int! + receivedMaterials: Boolean! + materialsRating: Int + instructorCompetence: Int! + instructorRespect: Int! + instructorOpenFeedback: String! + wouldRecommend: Boolean! + coursePositiveFeedback: String! + courseNegativeFeedback: String! + howDiscovered: String! + motivation: String! + clientMutationId: String +} + +type SendFeedbackPayload { + id: Int + satisfaction: Int + goalAttainment: Int + proficiency: Int + receivedMaterials: Boolean + materialsRating: Int + instructorCompetence: Int + instructorRespect: Int + instructorOpenFeedback: String + wouldRecommend: Boolean + coursePositiveFeedback: String + courseNegativeFeedback: String + howDiscovered: String + motivation: String + errors: [ErrorType] + clientMutationId: String +} + type SiteObjectType { id: ID! hostname: String!