vbv/client/src/gql/schema.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
}