211 lines
4.5 KiB
GraphQL
211 lines
4.5 KiB
GraphQL
type Query {
|
|
course(id: Int): CourseType
|
|
assignment(id: ID, slug: String): AssignmentType
|
|
assignment_completion(assignment_id: ID!, course_session_id: ID!, assignment_user_id: ID): AssignmentCompletionType
|
|
}
|
|
|
|
type CourseType {
|
|
id: ID!
|
|
title: String!
|
|
category_name: String!
|
|
slug: String!
|
|
learning_path: LearningPathType
|
|
}
|
|
|
|
type LearningPathType implements CoursePageInterface {
|
|
id: ID
|
|
path: String!
|
|
depth: Int!
|
|
numchild: Int!
|
|
translation_key: String
|
|
live: Boolean
|
|
has_unpublished_changes: Boolean!
|
|
first_published_at: DateTime
|
|
last_published_at: DateTime
|
|
go_live_at: DateTime
|
|
expire_at: DateTime
|
|
expired: Boolean!
|
|
locked: Boolean!
|
|
locked_at: DateTime
|
|
locked_by: UserType
|
|
title: String
|
|
draft_title: String!
|
|
slug: String
|
|
content_type: String
|
|
url_path: String!
|
|
owner: UserType
|
|
|
|
"""
|
|
Der Titel der Seite, dargestellt in Suchmaschinen-Ergebnissen als die verlinkte Überschrift.
|
|
"""
|
|
seo_title: String!
|
|
|
|
"""
|
|
Ob ein Link zu dieser Seite in automatisch generierten Menüs auftaucht.
|
|
"""
|
|
show_in_menus: Boolean!
|
|
|
|
"""
|
|
Die informative Beschreibung, dargestellt in Suchmaschinen-Ergebnissen unter der Überschrift.
|
|
"""
|
|
search_description: String!
|
|
latest_revision_created_at: DateTime
|
|
frontend_url: String
|
|
}
|
|
|
|
interface CoursePageInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
}
|
|
|
|
"""
|
|
The `DateTime` scalar type represents a DateTime
|
|
value as specified by
|
|
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
|
|
"""
|
|
scalar DateTime
|
|
|
|
type UserType {
|
|
id: ID!
|
|
|
|
"""
|
|
Erforderlich. 150 Zeichen oder weniger. Nur Buchstaben, Ziffern und @/./+/-/_.
|
|
"""
|
|
username: String!
|
|
first_name: String!
|
|
last_name: String!
|
|
avatar_url: String!
|
|
email: String!
|
|
language: CoreUserLanguageChoices!
|
|
}
|
|
|
|
"""An enumeration."""
|
|
enum CoreUserLanguageChoices {
|
|
"""Deutsch"""
|
|
DE
|
|
|
|
"""Français"""
|
|
FR
|
|
|
|
"""Italiano"""
|
|
IT
|
|
}
|
|
|
|
type AssignmentType implements CoursePageInterface {
|
|
"""Erläuterung der Ausgangslage"""
|
|
starting_position: String!
|
|
|
|
"""Zeitaufwand als Text"""
|
|
effort_required: String!
|
|
|
|
"""Beschreibung der Bewertung"""
|
|
evaluation_description: String!
|
|
|
|
"""URL zum Beurteilungsinstrument"""
|
|
evaluation_document_url: String!
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
tasks: JSONStreamField
|
|
evaluation_tasks: JSONStreamField
|
|
performance_objectives: JSONStreamField
|
|
}
|
|
|
|
scalar JSONStreamField
|
|
|
|
type AssignmentCompletionType {
|
|
id: ID!
|
|
created_at: DateTime!
|
|
updated_at: DateTime!
|
|
submitted_at: DateTime
|
|
evaluation_submitted_at: DateTime
|
|
evaluation_user: UserType
|
|
evaluation_grade: Float
|
|
evaluation_points: Float
|
|
assignment_user: UserType!
|
|
assignment: AssignmentType!
|
|
completion_status: AssignmentAssignmentCompletionCompletionStatusChoices!
|
|
completion_data: GenericScalar
|
|
additional_json_data: JSONString!
|
|
}
|
|
|
|
"""An enumeration."""
|
|
enum AssignmentAssignmentCompletionCompletionStatusChoices {
|
|
"""IN_PROGRESS"""
|
|
IN_PROGRESS
|
|
|
|
"""SUBMITTED"""
|
|
SUBMITTED
|
|
|
|
"""EVALUATION_IN_PROGRESS"""
|
|
EVALUATION_IN_PROGRESS
|
|
|
|
"""EVALUATION_SUBMITTED"""
|
|
EVALUATION_SUBMITTED
|
|
}
|
|
|
|
"""
|
|
The `GenericScalar` scalar type represents a generic
|
|
GraphQL scalar value that could be:
|
|
String, Boolean, Int, Float, List or Object.
|
|
"""
|
|
scalar GenericScalar
|
|
|
|
"""
|
|
Allows use of a JSON String for input / output from the GraphQL schema.
|
|
|
|
Use of this type is *not recommended* as you lose the benefits of having a defined, static
|
|
schema (one of the key benefits of GraphQL).
|
|
"""
|
|
scalar JSONString
|
|
|
|
type Mutation {
|
|
send_feedback(input: SendFeedbackInput!): SendFeedbackPayload
|
|
upsert_assignment_completion(assignment_id: ID!, assignment_user_id: ID, completion_data_string: String, completion_status: String, course_session_id: ID!, evaluation_grade: Float, evaluation_points: Float): AssignmentCompletionMutation
|
|
}
|
|
|
|
type SendFeedbackPayload {
|
|
feedback_response: FeedbackResponse
|
|
|
|
"""May contain more than one error for same field."""
|
|
errors: [ErrorType]
|
|
clientMutationId: String
|
|
}
|
|
|
|
type FeedbackResponse implements Node {
|
|
"""The ID of the object"""
|
|
id: ID!
|
|
data: GenericScalar
|
|
created_at: DateTime!
|
|
}
|
|
|
|
"""An object with an ID"""
|
|
interface Node {
|
|
"""The ID of the object"""
|
|
id: ID!
|
|
}
|
|
|
|
type ErrorType {
|
|
field: String!
|
|
messages: [String!]!
|
|
}
|
|
|
|
input SendFeedbackInput {
|
|
page: String!
|
|
course_session: Int!
|
|
data: GenericScalar
|
|
clientMutationId: String
|
|
}
|
|
|
|
type AssignmentCompletionMutation {
|
|
assignment_completion: AssignmentCompletionType
|
|
} |