495 lines
11 KiB
GraphQL
495 lines
11 KiB
GraphQL
type Query {
|
|
circle(id: Int, slug: String): CircleObjectType
|
|
learning_path(id: Int, slug: String): LearningPathObjectType
|
|
learning_content_media_library: LearningContentMediaLibraryObjectType
|
|
learning_content_assignment: LearningContentAssignmentObjectType
|
|
learning_content_attendance_course: LearningContentAttendanceCourseObjectType
|
|
learning_content_feedback: LearningContentFeedbackObjectType
|
|
learning_content_learning_module: LearningContentLearningModuleObjectType
|
|
learning_content_placeholder: LearningContentPlaceholderObjectType
|
|
learning_content_rich_text: LearningContentRichTextObjectType
|
|
learning_content_test: LearningContentTestObjectType
|
|
learning_content_video: LearningContentVideoObjectType
|
|
learning_content_document_list: LearningContentDocumentListObjectType
|
|
course_session_attendance_course(id: ID!, assignment_user_id: ID): CourseSessionAttendanceCourseType
|
|
course(id: Int): CourseObjectType
|
|
assignment(id: ID, slug: String): AssignmentObjectType
|
|
assignment_completion(assignment_id: ID!, course_session_id: ID!, learning_content_page_id: ID, assignment_user_id: UUID): AssignmentCompletionObjectType
|
|
}
|
|
|
|
type CircleObjectType implements CoursePageInterface {
|
|
description: String!
|
|
goals: String!
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
learning_sequences: [LearningSequenceObjectType]
|
|
}
|
|
|
|
interface CoursePageInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
}
|
|
|
|
type LearningSequenceObjectType implements CoursePageInterface {
|
|
icon: String!
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
learning_units: [LearningUnitObjectType]
|
|
}
|
|
|
|
type LearningUnitObjectType implements CoursePageInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
learning_contents: [LearningContentInterface]
|
|
}
|
|
|
|
interface LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningPathObjectType 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
|
|
topics: [TopicObjectType]
|
|
}
|
|
|
|
"""
|
|
The `DateTime` scalar type represents a DateTime
|
|
value as specified by
|
|
[iso8601](https://en.wikipedia.org/wiki/ISO_8601).
|
|
"""
|
|
scalar DateTime
|
|
|
|
type UserType {
|
|
"""
|
|
Erforderlich. 150 Zeichen oder weniger. Nur Buchstaben, Ziffern und @/./+/-/_.
|
|
"""
|
|
username: String!
|
|
first_name: String!
|
|
last_name: String!
|
|
id: UUID!
|
|
avatar_url: String!
|
|
email: String!
|
|
language: CoreUserLanguageChoices!
|
|
}
|
|
|
|
"""
|
|
Leverages the internal Python implementation of UUID (uuid.UUID) to provide native UUID objects
|
|
in fields, resolvers and input.
|
|
"""
|
|
scalar UUID
|
|
|
|
"""An enumeration."""
|
|
enum CoreUserLanguageChoices {
|
|
"""Deutsch"""
|
|
DE
|
|
|
|
"""Français"""
|
|
FR
|
|
|
|
"""Italiano"""
|
|
IT
|
|
}
|
|
|
|
type TopicObjectType implements CoursePageInterface {
|
|
is_visible: Boolean!
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
circles: [CircleObjectType]
|
|
}
|
|
|
|
type LearningContentMediaLibraryObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentAssignmentObjectType implements LearningContentInterface {
|
|
content_assignment: AssignmentObjectType!
|
|
assignment_type: LearnpathLearningContentAssignmentAssignmentTypeChoices!
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type AssignmentObjectType implements CoursePageInterface {
|
|
assignment_type: AssignmentAssignmentAssignmentTypeChoices!
|
|
|
|
"""Erläuterung der Ausgangslage"""
|
|
intro_text: 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
|
|
}
|
|
|
|
"""An enumeration."""
|
|
enum AssignmentAssignmentAssignmentTypeChoices {
|
|
"""CASEWORK"""
|
|
CASEWORK
|
|
|
|
"""PREP_ASSIGNMENT"""
|
|
PREP_ASSIGNMENT
|
|
|
|
"""REFLECTION"""
|
|
REFLECTION
|
|
}
|
|
|
|
scalar JSONStreamField
|
|
|
|
"""An enumeration."""
|
|
enum LearnpathLearningContentAssignmentAssignmentTypeChoices {
|
|
"""CASEWORK"""
|
|
CASEWORK
|
|
|
|
"""PREP_ASSIGNMENT"""
|
|
PREP_ASSIGNMENT
|
|
|
|
"""REFLECTION"""
|
|
REFLECTION
|
|
}
|
|
|
|
type LearningContentAttendanceCourseObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentFeedbackObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentLearningModuleObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentPlaceholderObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentRichTextObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentTestObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentVideoObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type LearningContentDocumentListObjectType implements LearningContentInterface {
|
|
id: ID
|
|
title: String
|
|
slug: String
|
|
content_type: String
|
|
live: Boolean
|
|
translation_key: String
|
|
frontend_url: String
|
|
minutes: Int
|
|
description: String
|
|
content: String
|
|
}
|
|
|
|
type CourseSessionAttendanceCourseType {
|
|
id: ID!
|
|
location: String!
|
|
trainer: String!
|
|
course_session_id: ID
|
|
learning_content_id: ID
|
|
due_date_id: ID
|
|
end: DateTime
|
|
start: DateTime
|
|
attendance_user_list: [AttendanceUserType]
|
|
}
|
|
|
|
type AttendanceUserType {
|
|
user_id: UUID!
|
|
status: AttendanceUserStatus!
|
|
first_name: String
|
|
last_name: String
|
|
email: String
|
|
}
|
|
|
|
"""An enumeration."""
|
|
enum AttendanceUserStatus {
|
|
PRESENT
|
|
ABSENT
|
|
}
|
|
|
|
type CourseObjectType {
|
|
id: ID!
|
|
title: String!
|
|
category_name: String!
|
|
slug: String!
|
|
learning_path: LearningPathObjectType
|
|
}
|
|
|
|
type AssignmentCompletionObjectType {
|
|
id: UUID!
|
|
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: AssignmentObjectType!
|
|
completion_status: AssignmentAssignmentCompletionCompletionStatusChoices!
|
|
completion_data: GenericScalar
|
|
additional_json_data: JSONString!
|
|
learning_content_page_id: ID
|
|
}
|
|
|
|
"""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
|
|
update_course_session_attendance_course_users(attendance_user_list: [AttendanceUserInputType]!, id: ID!): AttendanceCourseUserMutation
|
|
upsert_assignment_completion(assignment_id: ID!, assignment_user_id: UUID, completion_data_string: String, completion_status: AssignmentCompletionStatus, course_session_id: ID!, evaluation_grade: Float, evaluation_points: Float, learning_content_page_id: ID): 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!
|
|
circle: CircleObjectType!
|
|
}
|
|
|
|
"""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 AttendanceCourseUserMutation {
|
|
course_session_attendance_course: CourseSessionAttendanceCourseType
|
|
}
|
|
|
|
input AttendanceUserInputType {
|
|
user_id: UUID!
|
|
status: AttendanceUserStatus!
|
|
}
|
|
|
|
type AssignmentCompletionMutation {
|
|
assignment_completion: AssignmentCompletionObjectType
|
|
}
|
|
|
|
"""An enumeration."""
|
|
enum AssignmentCompletionStatus {
|
|
IN_PROGRESS
|
|
SUBMITTED
|
|
EVALUATION_IN_PROGRESS
|
|
EVALUATION_SUBMITTED
|
|
} |