diff --git a/.gitignore b/.gitignore index 0daeaac9..5eb128d8 100644 --- a/.gitignore +++ b/.gitignore @@ -284,4 +284,4 @@ git-crypt-encrypted-files-check.txt /server/vbv_lernwelt/static/storybook /server/vbv_lernwelt/templates/vue/index.html /server/vbv_lernwelt/media -/client/src/gql/minifiedSchema.json +/client/src/gql/dist/minifiedSchema.json diff --git a/client/codegen.ts b/client/codegen.ts index 4956f075..52694c79 100644 --- a/client/codegen.ts +++ b/client/codegen.ts @@ -11,7 +11,13 @@ const config: CodegenConfig = { "./src/gql/": { preset: "client", config: { + // avoidOptionals: true, useTypeImports: true, + scalars: { + ID: "string", + UUID: "string", + DateTime: "string", + }, }, plugins: [], }, diff --git a/client/minimizeGraphqlSchema.mjs b/client/minimizeGraphqlSchema.mjs index b4f5f7e7..d363c02a 100644 --- a/client/minimizeGraphqlSchema.mjs +++ b/client/minimizeGraphqlSchema.mjs @@ -8,4 +8,4 @@ const schema = readFileSync("./src/gql/schema.graphql", "utf-8"); const minifiedSchema = minifyIntrospectionQuery(getIntrospectedSchema(schema)); // Write the minified schema to a new file -writeFileSync("./src/gql/minifiedSchema.json", JSON.stringify(minifiedSchema)); +writeFileSync("./src/gql/dist/minifiedSchema.json", JSON.stringify(minifiedSchema)); diff --git a/client/package.json b/client/package.json index 60ed3340..69d86730 100644 --- a/client/package.json +++ b/client/package.json @@ -16,7 +16,8 @@ "storybook": "storybook dev -p 6006", "tailwind": "tailwindcss -i tailwind.css -o ../server/vbv_lernwelt/static/css/tailwind.css --watch", "test": "vitest run", - "typecheck": "npm run codegen && vue-tsc --noEmit -p tsconfig.app.json --composite false" + "typecheck": "npm run codegen && vue-tsc --noEmit -p tsconfig.app.json --composite false", + "typecheck-only": "vue-tsc --noEmit -p tsconfig.app.json --composite false" }, "dependencies": { "@headlessui/tailwindcss": "^0.1.3", diff --git a/client/src/components/dueDates/dueDatesUtils.ts b/client/src/components/dueDates/dueDatesUtils.ts index 850377f8..b2d0decd 100644 --- a/client/src/components/dueDates/dueDatesUtils.ts +++ b/client/src/components/dueDates/dueDatesUtils.ts @@ -3,7 +3,7 @@ import dayjs from "dayjs"; import LocalizedFormat from "dayjs/plugin/localizedFormat"; import i18next from "i18next"; -export const formatDueDate = (start: string, end?: string) => { +export const formatDueDate = (start: string, end?: string | null) => { dayjs.extend(LocalizedFormat); const startDayjs = dayjs(start); const startDateString = getDateString(startDayjs); diff --git a/client/src/composables.ts b/client/src/composables.ts index e2a4d99c..5f21519d 100644 --- a/client/src/composables.ts +++ b/client/src/composables.ts @@ -56,19 +56,19 @@ export function useCourseSessionDetailQuery(courSessionId?: string) { function findAssignment(learningContentId: string) { return (courseSessionDetail.value?.assignments ?? []).find((a) => { - return a.learning_content.id === learningContentId; + return a.learning_content?.id === learningContentId; }); } function findEdoniqTest(learningContentId: string) { return (courseSessionDetail.value?.edoniq_tests ?? []).find((e) => { - return e.learning_content.id === learningContentId; + return e.learning_content?.id === learningContentId; }); } function findAttendanceCourse(learningContentId: string) { return (courseSessionDetail.value?.attendance_courses ?? []).find((e) => { - return e.learning_content.id === learningContentId; + return e.learning_content?.id === learningContentId; }); } diff --git a/client/src/gql/dist/.gitkeep b/client/src/gql/dist/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/client/src/gql/gql.ts b/client/src/gql/gql.ts index 40b879b0..c16b2f69 100644 --- a/client/src/gql/gql.ts +++ b/client/src/gql/gql.ts @@ -18,7 +18,6 @@ const documents = { "\n fragment CoursePageFields on CoursePageInterface {\n title\n id\n slug\n content_type\n frontend_url\n }\n": types.CoursePageFieldsFragmentDoc, "\n query attendanceCheckQuery($courseSessionId: ID!) {\n course_session_attendance_course(id: $courseSessionId) {\n id\n attendance_user_list {\n user_id\n status\n }\n }\n }\n": types.AttendanceCheckQueryDocument, "\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n }\n assignment_user {\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n": types.AssignmentCompletionQueryDocument, - "\n query courseQuery($courseId: ID!) {\n course(id: $courseId) {\n id\n slug\n title\n category_name\n learning_path {\n id\n }\n }\n }\n": types.CourseQueryDocument, "\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n ...CoursePageFields\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateQueryDocument, "\n query courseSessionDetail($courseSessionId: ID!) {\n course_session(id: $courseSessionId) {\n id\n title\n course {\n id\n title\n slug\n }\n users {\n id\n user_id\n first_name\n last_name\n email\n avatar_url\n role\n circles {\n id\n title\n slug\n }\n }\n attendance_courses {\n id\n location\n trainer\n due_date {\n id\n start\n end\n }\n learning_content_id\n learning_content {\n id\n title\n circle {\n id\n title\n slug\n }\n }\n }\n assignments {\n id\n submission_deadline {\n id\n start\n }\n evaluation_deadline {\n id\n start\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n edoniq_tests {\n id\n deadline {\n id\n start\n end\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n }\n }\n": types.CourseSessionDetailDocument, "\n query learningPathQuery($slug: String!) {\n learning_path(slug: $slug) {\n ...CoursePageFields\n topics {\n is_visible\n ...CoursePageFields\n circles {\n ...CoursePageFields\n learning_sequences {\n icon\n ...CoursePageFields\n learning_units {\n evaluate_url\n ...CoursePageFields\n learning_contents {\n ...CoursePageFields\n ... on LearningContentAssignmentObjectType {\n assignment_type\n content_assignment {\n id\n }\n }\n }\n }\n }\n }\n }\n }\n }\n": types.LearningPathQueryDocument, @@ -59,10 +58,6 @@ export function graphql(source: "\n query attendanceCheckQuery($courseSessionId * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ export function graphql(source: "\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n }\n assignment_user {\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n"): (typeof documents)["\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n }\n assignment_user {\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n"]; -/** - * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. - */ -export function graphql(source: "\n query courseQuery($courseId: ID!) {\n course(id: $courseId) {\n id\n slug\n title\n category_name\n learning_path {\n id\n }\n }\n }\n"): (typeof documents)["\n query courseQuery($courseId: ID!) {\n course(id: $courseId) {\n id\n slug\n title\n category_name\n learning_path {\n id\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/client/src/gql/graphql.ts b/client/src/gql/graphql.ts index 00e0275c..695f2f73 100644 --- a/client/src/gql/graphql.ts +++ b/client/src/gql/graphql.ts @@ -25,7 +25,7 @@ export type Scalars = { * value as specified by * [iso8601](https://en.wikipedia.org/wiki/ISO_8601). */ - DateTime: { input: any; output: any; } + DateTime: { input: string; output: string; } /** * The `GenericScalar` scalar type represents a generic * GraphQL scalar value that could be: @@ -44,7 +44,7 @@ export type Scalars = { * Leverages the internal Python implementation of UUID (uuid.UUID) to provide native UUID objects * in fields, resolvers and input. */ - UUID: { input: any; output: any; } + UUID: { input: string; output: string; } }; /** An enumeration. */ @@ -80,7 +80,7 @@ export type AssignmentCompletionObjectType = { __typename?: 'AssignmentCompletionObjectType'; additional_json_data: Scalars['JSONString']['output']; assignment: AssignmentObjectType; - assignment_user: UserType; + assignment_user: UserObjectType; completion_data?: Maybe; completion_status: AssignmentAssignmentCompletionCompletionStatusChoices; course_session: CourseSessionObjectType; @@ -90,7 +90,7 @@ export type AssignmentCompletionObjectType = { evaluation_passed?: Maybe; evaluation_points?: Maybe; evaluation_submitted_at?: Maybe; - evaluation_user?: Maybe; + evaluation_user?: Maybe; id: Scalars['UUID']['output']; learning_content_page_id?: Maybe; submitted_at?: Maybe; @@ -111,7 +111,7 @@ export type AssignmentObjectType = CoursePageInterface & { circle?: Maybe; competence_certificate?: Maybe; completion?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; /** Zeitaufwand als Text */ effort_required: Scalars['String']['output']; @@ -120,20 +120,20 @@ export type AssignmentObjectType = CoursePageInterface & { /** URL zum Beurteilungsinstrument */ evaluation_document_url: Scalars['String']['output']; evaluation_tasks?: Maybe; - frontend_url?: Maybe; - id?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; /** Erläuterung der Ausgangslage */ intro_text: Scalars['String']['output']; learning_content?: Maybe; - live?: Maybe; + live: Scalars['Boolean']['output']; max_points?: Maybe; /** Muss der Auftrag durch eine Expertin oder einen Experten beurteilt werden? */ needs_expert_evaluation: Scalars['Boolean']['output']; performance_objectives?: Maybe; - slug?: Maybe; + slug: Scalars['String']['output']; tasks?: Maybe; - title?: Maybe; - translation_key?: Maybe; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; @@ -167,55 +167,45 @@ export type AttendanceUserStatus = | 'ABSENT' | 'PRESENT'; -export type CircleDocumentObjectType = { - __typename?: 'CircleDocumentObjectType'; - course_session: CourseSessionObjectType; - file_name?: Maybe; - id: Scalars['UUID']['output']; - learning_sequence: LearningSequenceObjectType; - name: Scalars['String']['output']; - url?: Maybe; -}; - export type CircleObjectType = CoursePageInterface & { __typename?: 'CircleObjectType'; circle?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description: Scalars['String']['output']; - frontend_url?: Maybe; + frontend_url: Scalars['String']['output']; goals: Scalars['String']['output']; - id?: Maybe; + id: Scalars['ID']['output']; learning_sequences?: Maybe>>; - live?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + live: Scalars['Boolean']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type CompetenceCertificateListObjectType = CoursePageInterface & { __typename?: 'CompetenceCertificateListObjectType'; circle?: Maybe; - competence_certificates?: Maybe>>; - content_type?: Maybe; + competence_certificates: Array; + content_type: Scalars['String']['output']; course?: Maybe; depth: Scalars['Int']['output']; draft_title: Scalars['String']['output']; expire_at?: Maybe; expired: Scalars['Boolean']['output']; first_published_at?: Maybe; - frontend_url?: Maybe; + frontend_url: Scalars['String']['output']; go_live_at?: Maybe; has_unpublished_changes: Scalars['Boolean']['output']; - id?: Maybe; + id: Scalars['ID']['output']; last_published_at?: Maybe; latest_revision_created_at?: Maybe; - live?: Maybe; + live: Scalars['Boolean']['output']; locked: Scalars['Boolean']['output']; locked_at?: Maybe; - locked_by?: Maybe; + locked_by?: Maybe; numchild: Scalars['Int']['output']; - owner?: Maybe; + owner?: Maybe; path: Scalars['String']['output']; /** Die informative Beschreibung, dargestellt in Suchmaschinen-Ergebnissen unter der Überschrift. */ search_description: Scalars['String']['output']; @@ -223,24 +213,24 @@ export type CompetenceCertificateListObjectType = CoursePageInterface & { seo_title: Scalars['String']['output']; /** Ob ein Link zu dieser Seite in automatisch generierten Menüs auftaucht. */ show_in_menus: Scalars['Boolean']['output']; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; url_path: Scalars['String']['output']; }; export type CompetenceCertificateObjectType = CoursePageInterface & { __typename?: 'CompetenceCertificateObjectType'; - assignments?: Maybe>>; + assignments: Array; circle?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; /** An enumeration. */ @@ -252,34 +242,42 @@ export type CoreUserLanguageChoices = /** Italiano */ | 'IT'; +/** An enumeration. */ +export type CourseCourseSessionUserRoleChoices = + /** Experte/Trainer */ + | 'EXPERT' + /** Teilnehmer */ + | 'MEMBER' + /** Lernbegleitung */ + | 'TUTOR'; + export type CourseObjectType = { __typename?: 'CourseObjectType'; category_name: Scalars['String']['output']; id: Scalars['ID']['output']; - learning_path?: Maybe; slug: Scalars['String']['output']; title: Scalars['String']['output']; }; export type CoursePageInterface = { circle?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type CourseSessionAssignmentObjectType = { __typename?: 'CourseSessionAssignmentObjectType'; - course_session_id?: Maybe; + course_session_id: Scalars['ID']['output']; evaluation_deadline?: Maybe; id: Scalars['ID']['output']; - learning_content?: Maybe; - learning_content_id?: Maybe; + learning_content: LearningContentAssignmentObjectType; + learning_content_id: Scalars['ID']['output']; submission_deadline?: Maybe; }; @@ -289,7 +287,7 @@ export type CourseSessionAttendanceCourseObjectType = { course_session_id?: Maybe; due_date?: Maybe; id: Scalars['ID']['output']; - learning_content?: Maybe; + learning_content: LearningContentAttendanceCourseObjectType; learning_content_id?: Maybe; location: Scalars['String']['output']; trainer: Scalars['String']['output']; @@ -297,46 +295,45 @@ export type CourseSessionAttendanceCourseObjectType = { export type CourseSessionEdoniqTestObjectType = { __typename?: 'CourseSessionEdoniqTestObjectType'; - course_session_id?: Maybe; + course_session_id: Scalars['ID']['output']; deadline?: Maybe; id: Scalars['ID']['output']; - learning_content?: Maybe; - learning_content_id?: Maybe; + learning_content: LearningContentEdoniqTestObjectType; + learning_content_id: Scalars['ID']['output']; }; export type CourseSessionObjectType = { __typename?: 'CourseSessionObjectType'; - assignments?: Maybe>>; - attendance_courses?: Maybe>>; + assignments: Array; + attendance_courses: Array; course: CourseObjectType; created_at: Scalars['DateTime']['output']; - documents?: Maybe>>; - edoniq_tests?: Maybe>>; + edoniq_tests: Array; end_date?: Maybe; id: Scalars['ID']['output']; start_date?: Maybe; title: Scalars['String']['output']; updated_at: Scalars['DateTime']['output']; - users?: Maybe>>; + users: Array; }; export type CourseSessionUserExpertCircleType = { __typename?: 'CourseSessionUserExpertCircleType'; - id?: Maybe; - slug?: Maybe; - title?: Maybe; + id: Scalars['ID']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; }; export type CourseSessionUserObjectsType = { __typename?: 'CourseSessionUserObjectsType'; - avatar_url?: Maybe; - circles?: Maybe>>; - email?: Maybe; - first_name?: Maybe; + avatar_url: Scalars['String']['output']; + circles: Array; + email: Scalars['String']['output']; + first_name: Scalars['String']['output']; id: Scalars['UUID']['output']; - last_name?: Maybe; - role?: Maybe; - user_id?: Maybe; + last_name: Scalars['String']['output']; + role: CourseCourseSessionUserRoleChoices; + user_id: Scalars['UUID']['output']; }; export type DueDateObjectType = { @@ -377,203 +374,203 @@ export type FeedbackResponseObjectType = { export type LearningContentAssignmentObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentAssignmentObjectType'; assignment_type: LearnpathLearningContentAssignmentAssignmentTypeChoices; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; content_assignment: AssignmentObjectType; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentAttendanceCourseObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentAttendanceCourseObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentDocumentListObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentDocumentListObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentEdoniqTestObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentEdoniqTestObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; content_assignment?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentFeedbackObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentFeedbackObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentInterface = { - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentLearningModuleObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentLearningModuleObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentMediaLibraryObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentMediaLibraryObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentPlaceholderObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentPlaceholderObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentRichTextObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentRichTextObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningContentVideoObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentVideoObjectType'; - circle?: Maybe; + circle: CircleObjectType; content?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; description?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - live?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + live: Scalars['Boolean']['output']; minutes?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningPathObjectType = CoursePageInterface & { __typename?: 'LearningPathObjectType'; circle?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; depth: Scalars['Int']['output']; draft_title: Scalars['String']['output']; expire_at?: Maybe; expired: Scalars['Boolean']['output']; first_published_at?: Maybe; - frontend_url?: Maybe; + frontend_url: Scalars['String']['output']; go_live_at?: Maybe; has_unpublished_changes: Scalars['Boolean']['output']; - id?: Maybe; + id: Scalars['ID']['output']; last_published_at?: Maybe; latest_revision_created_at?: Maybe; - live?: Maybe; + live: Scalars['Boolean']['output']; locked: Scalars['Boolean']['output']; locked_at?: Maybe; - locked_by?: Maybe; + locked_by?: Maybe; numchild: Scalars['Int']['output']; - owner?: Maybe; + owner?: Maybe; path: Scalars['String']['output']; /** Die informative Beschreibung, dargestellt in Suchmaschinen-Ergebnissen unter der Überschrift. */ search_description: Scalars['String']['output']; @@ -581,41 +578,41 @@ export type LearningPathObjectType = CoursePageInterface & { seo_title: Scalars['String']['output']; /** Ob ein Link zu dieser Seite in automatisch generierten Menüs auftaucht. */ show_in_menus: Scalars['Boolean']['output']; - slug?: Maybe; - title?: Maybe; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; topics?: Maybe>>; - translation_key?: Maybe; + translation_key: Scalars['String']['output']; url_path: Scalars['String']['output']; }; export type LearningSequenceObjectType = CoursePageInterface & { __typename?: 'LearningSequenceObjectType'; circle?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; - frontend_url?: Maybe; + frontend_url: Scalars['String']['output']; icon: Scalars['String']['output']; - id?: Maybe; + id: Scalars['ID']['output']; learning_units?: Maybe>>; - live?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + live: Scalars['Boolean']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; export type LearningUnitObjectType = CoursePageInterface & { __typename?: 'LearningUnitObjectType'; circle?: Maybe; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; - evaluate_url?: Maybe; - frontend_url?: Maybe; - id?: Maybe; - learning_contents?: Maybe>>; - live?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + evaluate_url: Scalars['String']['output']; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; + learning_contents: Array; + live: Scalars['Boolean']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; /** An enumeration. */ @@ -757,19 +754,19 @@ export type TopicObjectType = CoursePageInterface & { __typename?: 'TopicObjectType'; circle?: Maybe; circles?: Maybe>>; - content_type?: Maybe; + content_type: Scalars['String']['output']; course?: Maybe; - frontend_url?: Maybe; - id?: Maybe; + frontend_url: Scalars['String']['output']; + id: Scalars['ID']['output']; is_visible: Scalars['Boolean']['output']; - live?: Maybe; - slug?: Maybe; - title?: Maybe; - translation_key?: Maybe; + live: Scalars['Boolean']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; + translation_key: Scalars['String']['output']; }; -export type UserType = { - __typename?: 'UserType'; +export type UserObjectType = { + __typename?: 'UserObjectType'; avatar_url: Scalars['String']['output']; email: Scalars['String']['output']; first_name: Scalars['String']['output']; @@ -786,7 +783,7 @@ export type AttendanceCheckMutationMutationVariables = Exact<{ }>; -export type AttendanceCheckMutationMutation = { __typename?: 'Mutation', update_course_session_attendance_course_users?: { __typename?: 'AttendanceCourseUserMutation', course_session_attendance_course?: { __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, attendance_user_list?: Array<{ __typename?: 'AttendanceUserObjectType', user_id: any, first_name?: string | null, last_name?: string | null, email?: string | null, status: AttendanceUserStatus } | null> | null } | null } | null }; +export type AttendanceCheckMutationMutation = { __typename?: 'Mutation', update_course_session_attendance_course_users?: { __typename?: 'AttendanceCourseUserMutation', course_session_attendance_course?: { __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, attendance_user_list?: Array<{ __typename?: 'AttendanceUserObjectType', user_id: string, first_name?: string | null, last_name?: string | null, email?: string | null, status: AttendanceUserStatus } | null> | null } | null } | null }; export type UpsertAssignmentCompletionMutationVariables = Exact<{ assignmentId: Scalars['ID']['input']; @@ -800,43 +797,43 @@ export type UpsertAssignmentCompletionMutationVariables = Exact<{ }>; -export type UpsertAssignmentCompletionMutation = { __typename?: 'Mutation', upsert_assignment_completion?: { __typename?: 'AssignmentCompletionMutation', assignment_completion?: { __typename?: 'AssignmentCompletionObjectType', id: any, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: any | null, evaluation_submitted_at?: any | null, evaluation_points?: number | null, completion_data?: any | null, task_completion_data?: any | null } | null } | null }; +export type UpsertAssignmentCompletionMutation = { __typename?: 'Mutation', upsert_assignment_completion?: { __typename?: 'AssignmentCompletionMutation', assignment_completion?: { __typename?: 'AssignmentCompletionObjectType', id: string, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: string | null, evaluation_submitted_at?: string | null, evaluation_points?: number | null, completion_data?: any | null, task_completion_data?: any | null } | null } | null }; -type CoursePageFieldsAssignmentObjectTypeFragment = { __typename?: 'AssignmentObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsAssignmentObjectTypeFragment' }; +type CoursePageFieldsAssignmentObjectTypeFragment = { __typename?: 'AssignmentObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsAssignmentObjectTypeFragment' }; -type CoursePageFieldsCircleObjectTypeFragment = { __typename?: 'CircleObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsCircleObjectTypeFragment' }; +type CoursePageFieldsCircleObjectTypeFragment = { __typename?: 'CircleObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsCircleObjectTypeFragment' }; -type CoursePageFieldsCompetenceCertificateListObjectTypeFragment = { __typename?: 'CompetenceCertificateListObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsCompetenceCertificateListObjectTypeFragment' }; +type CoursePageFieldsCompetenceCertificateListObjectTypeFragment = { __typename?: 'CompetenceCertificateListObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsCompetenceCertificateListObjectTypeFragment' }; -type CoursePageFieldsCompetenceCertificateObjectTypeFragment = { __typename?: 'CompetenceCertificateObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsCompetenceCertificateObjectTypeFragment' }; +type CoursePageFieldsCompetenceCertificateObjectTypeFragment = { __typename?: 'CompetenceCertificateObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsCompetenceCertificateObjectTypeFragment' }; -type CoursePageFieldsLearningContentAssignmentObjectTypeFragment = { __typename?: 'LearningContentAssignmentObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentAssignmentObjectTypeFragment' }; +type CoursePageFieldsLearningContentAssignmentObjectTypeFragment = { __typename?: 'LearningContentAssignmentObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentAssignmentObjectTypeFragment' }; -type CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment = { __typename?: 'LearningContentAttendanceCourseObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment' }; +type CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment = { __typename?: 'LearningContentAttendanceCourseObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment' }; -type CoursePageFieldsLearningContentDocumentListObjectTypeFragment = { __typename?: 'LearningContentDocumentListObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentDocumentListObjectTypeFragment' }; +type CoursePageFieldsLearningContentDocumentListObjectTypeFragment = { __typename?: 'LearningContentDocumentListObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentDocumentListObjectTypeFragment' }; -type CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment = { __typename?: 'LearningContentEdoniqTestObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment' }; +type CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment = { __typename?: 'LearningContentEdoniqTestObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment' }; -type CoursePageFieldsLearningContentFeedbackObjectTypeFragment = { __typename?: 'LearningContentFeedbackObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentFeedbackObjectTypeFragment' }; +type CoursePageFieldsLearningContentFeedbackObjectTypeFragment = { __typename?: 'LearningContentFeedbackObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentFeedbackObjectTypeFragment' }; -type CoursePageFieldsLearningContentLearningModuleObjectTypeFragment = { __typename?: 'LearningContentLearningModuleObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentLearningModuleObjectTypeFragment' }; +type CoursePageFieldsLearningContentLearningModuleObjectTypeFragment = { __typename?: 'LearningContentLearningModuleObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentLearningModuleObjectTypeFragment' }; -type CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment = { __typename?: 'LearningContentMediaLibraryObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment' }; +type CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment = { __typename?: 'LearningContentMediaLibraryObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment' }; -type CoursePageFieldsLearningContentPlaceholderObjectTypeFragment = { __typename?: 'LearningContentPlaceholderObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentPlaceholderObjectTypeFragment' }; +type CoursePageFieldsLearningContentPlaceholderObjectTypeFragment = { __typename?: 'LearningContentPlaceholderObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentPlaceholderObjectTypeFragment' }; -type CoursePageFieldsLearningContentRichTextObjectTypeFragment = { __typename?: 'LearningContentRichTextObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentRichTextObjectTypeFragment' }; +type CoursePageFieldsLearningContentRichTextObjectTypeFragment = { __typename?: 'LearningContentRichTextObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentRichTextObjectTypeFragment' }; -type CoursePageFieldsLearningContentVideoObjectTypeFragment = { __typename?: 'LearningContentVideoObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentVideoObjectTypeFragment' }; +type CoursePageFieldsLearningContentVideoObjectTypeFragment = { __typename?: 'LearningContentVideoObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningContentVideoObjectTypeFragment' }; -type CoursePageFieldsLearningPathObjectTypeFragment = { __typename?: 'LearningPathObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningPathObjectTypeFragment' }; +type CoursePageFieldsLearningPathObjectTypeFragment = { __typename?: 'LearningPathObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningPathObjectTypeFragment' }; -type CoursePageFieldsLearningSequenceObjectTypeFragment = { __typename?: 'LearningSequenceObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningSequenceObjectTypeFragment' }; +type CoursePageFieldsLearningSequenceObjectTypeFragment = { __typename?: 'LearningSequenceObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningSequenceObjectTypeFragment' }; -type CoursePageFieldsLearningUnitObjectTypeFragment = { __typename?: 'LearningUnitObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsLearningUnitObjectTypeFragment' }; +type CoursePageFieldsLearningUnitObjectTypeFragment = { __typename?: 'LearningUnitObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsLearningUnitObjectTypeFragment' }; -type CoursePageFieldsTopicObjectTypeFragment = { __typename?: 'TopicObjectType', title?: string | null, id?: string | null, slug?: string | null, content_type?: string | null, frontend_url?: string | null } & { ' $fragmentName'?: 'CoursePageFieldsTopicObjectTypeFragment' }; +type CoursePageFieldsTopicObjectTypeFragment = { __typename?: 'TopicObjectType', title: string, id: string, slug: string, content_type: string, frontend_url: string } & { ' $fragmentName'?: 'CoursePageFieldsTopicObjectTypeFragment' }; export type CoursePageFieldsFragment = CoursePageFieldsAssignmentObjectTypeFragment | CoursePageFieldsCircleObjectTypeFragment | CoursePageFieldsCompetenceCertificateListObjectTypeFragment | CoursePageFieldsCompetenceCertificateObjectTypeFragment | CoursePageFieldsLearningContentAssignmentObjectTypeFragment | CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment | CoursePageFieldsLearningContentDocumentListObjectTypeFragment | CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment | CoursePageFieldsLearningContentFeedbackObjectTypeFragment | CoursePageFieldsLearningContentLearningModuleObjectTypeFragment | CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment | CoursePageFieldsLearningContentPlaceholderObjectTypeFragment | CoursePageFieldsLearningContentRichTextObjectTypeFragment | CoursePageFieldsLearningContentVideoObjectTypeFragment | CoursePageFieldsLearningPathObjectTypeFragment | CoursePageFieldsLearningSequenceObjectTypeFragment | CoursePageFieldsLearningUnitObjectTypeFragment | CoursePageFieldsTopicObjectTypeFragment; @@ -845,7 +842,7 @@ export type AttendanceCheckQueryQueryVariables = Exact<{ }>; -export type AttendanceCheckQueryQuery = { __typename?: 'Query', course_session_attendance_course?: { __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, attendance_user_list?: Array<{ __typename?: 'AttendanceUserObjectType', user_id: any, status: AttendanceUserStatus } | null> | null } | null }; +export type AttendanceCheckQueryQuery = { __typename?: 'Query', course_session_attendance_course?: { __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, attendance_user_list?: Array<{ __typename?: 'AttendanceUserObjectType', user_id: string, status: AttendanceUserStatus } | null> | null } | null }; export type AssignmentCompletionQueryQueryVariables = Exact<{ assignmentId: Scalars['ID']['input']; @@ -855,17 +852,10 @@ export type AssignmentCompletionQueryQueryVariables = Exact<{ }>; -export type AssignmentCompletionQueryQuery = { __typename?: 'Query', assignment?: { __typename?: 'AssignmentObjectType', assignment_type: AssignmentAssignmentAssignmentTypeChoices, needs_expert_evaluation: boolean, max_points?: number | null, content_type?: string | null, effort_required: string, evaluation_description: string, evaluation_document_url: string, evaluation_tasks?: any | null, id?: string | null, intro_text: string, performance_objectives?: any | null, slug?: string | null, tasks?: any | null, title?: string | null, translation_key?: string | null, competence_certificate?: ( +export type AssignmentCompletionQueryQuery = { __typename?: 'Query', assignment?: { __typename?: 'AssignmentObjectType', assignment_type: AssignmentAssignmentAssignmentTypeChoices, needs_expert_evaluation: boolean, max_points?: number | null, content_type: string, effort_required: string, evaluation_description: string, evaluation_document_url: string, evaluation_tasks?: any | null, id: string, intro_text: string, performance_objectives?: any | null, slug: string, tasks?: any | null, title: string, translation_key: string, competence_certificate?: ( { __typename?: 'CompetenceCertificateObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCompetenceCertificateObjectTypeFragment': CoursePageFieldsCompetenceCertificateObjectTypeFragment } } - ) | null } | null, assignment_completion?: { __typename?: 'AssignmentCompletionObjectType', id: any, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: any | null, evaluation_submitted_at?: any | null, evaluation_points?: number | null, evaluation_max_points?: number | null, evaluation_passed?: boolean | null, edoniq_extended_time_flag: boolean, completion_data?: any | null, task_completion_data?: any | null, evaluation_user?: { __typename?: 'UserType', id: any } | null, assignment_user: { __typename?: 'UserType', id: any } } | null }; - -export type CourseQueryQueryVariables = Exact<{ - courseId: Scalars['ID']['input']; -}>; - - -export type CourseQueryQuery = { __typename?: 'Query', course?: { __typename?: 'CourseObjectType', id: string, slug: string, title: string, category_name: string, learning_path?: { __typename?: 'LearningPathObjectType', id?: string | null } | null } | null }; + ) | null } | null, assignment_completion?: { __typename?: 'AssignmentCompletionObjectType', id: string, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: string | null, evaluation_submitted_at?: string | null, evaluation_points?: number | null, evaluation_max_points?: number | null, evaluation_passed?: boolean | null, edoniq_extended_time_flag: boolean, completion_data?: any | null, task_completion_data?: any | null, evaluation_user?: { __typename?: 'UserObjectType', id: string } | null, assignment_user: { __typename?: 'UserObjectType', id: string } } | null }; export type CompetenceCertificateQueryQueryVariables = Exact<{ courseSlug: Scalars['String']['input']; @@ -874,73 +864,73 @@ export type CompetenceCertificateQueryQueryVariables = Exact<{ export type CompetenceCertificateQueryQuery = { __typename?: 'Query', competence_certificate_list?: ( - { __typename?: 'CompetenceCertificateListObjectType', competence_certificates?: Array<( - { __typename?: 'CompetenceCertificateObjectType', assignments?: Array<( - { __typename?: 'AssignmentObjectType', assignment_type: AssignmentAssignmentAssignmentTypeChoices, max_points?: number | null, completion?: { __typename?: 'AssignmentCompletionObjectType', id: any, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: any | null, evaluation_points?: number | null, evaluation_max_points?: number | null, evaluation_passed?: boolean | null } | null, learning_content?: ( - { __typename?: 'LearningContentAssignmentObjectType', circle?: ( + { __typename?: 'CompetenceCertificateListObjectType', competence_certificates: Array<( + { __typename?: 'CompetenceCertificateObjectType', assignments: Array<( + { __typename?: 'AssignmentObjectType', assignment_type: AssignmentAssignmentAssignmentTypeChoices, max_points?: number | null, completion?: { __typename?: 'AssignmentCompletionObjectType', id: string, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: string | null, evaluation_points?: number | null, evaluation_max_points?: number | null, evaluation_passed?: boolean | null } | null, learning_content?: ( + { __typename?: 'LearningContentAssignmentObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentAssignmentObjectTypeFragment': CoursePageFieldsLearningContentAssignmentObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentAttendanceCourseObjectType', circle?: ( + { __typename?: 'LearningContentAttendanceCourseObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment': CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentDocumentListObjectType', circle?: ( + { __typename?: 'LearningContentDocumentListObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentDocumentListObjectTypeFragment': CoursePageFieldsLearningContentDocumentListObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentEdoniqTestObjectType', circle?: ( + { __typename?: 'LearningContentEdoniqTestObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment': CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentFeedbackObjectType', circle?: ( + { __typename?: 'LearningContentFeedbackObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentFeedbackObjectTypeFragment': CoursePageFieldsLearningContentFeedbackObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentLearningModuleObjectType', circle?: ( + { __typename?: 'LearningContentLearningModuleObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentLearningModuleObjectTypeFragment': CoursePageFieldsLearningContentLearningModuleObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentMediaLibraryObjectType', circle?: ( + { __typename?: 'LearningContentMediaLibraryObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment': CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentPlaceholderObjectType', circle?: ( + { __typename?: 'LearningContentPlaceholderObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentPlaceholderObjectTypeFragment': CoursePageFieldsLearningContentPlaceholderObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentRichTextObjectType', circle?: ( + { __typename?: 'LearningContentRichTextObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentRichTextObjectTypeFragment': CoursePageFieldsLearningContentRichTextObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentVideoObjectType', circle?: ( + { __typename?: 'LearningContentVideoObjectType', circle: ( { __typename?: 'CircleObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) | null } + ) } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentVideoObjectTypeFragment': CoursePageFieldsLearningContentVideoObjectTypeFragment } } ) | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsAssignmentObjectTypeFragment': CoursePageFieldsAssignmentObjectTypeFragment } } - ) | null> | null } + )> } & { ' $fragmentRefs'?: { 'CoursePageFieldsCompetenceCertificateObjectTypeFragment': CoursePageFieldsCompetenceCertificateObjectTypeFragment } } - ) | null> | null } + )> } & { ' $fragmentRefs'?: { 'CoursePageFieldsCompetenceCertificateListObjectTypeFragment': CoursePageFieldsCompetenceCertificateListObjectTypeFragment } } ) | null }; @@ -949,7 +939,7 @@ export type CourseSessionDetailQueryVariables = Exact<{ }>; -export type CourseSessionDetailQuery = { __typename?: 'Query', course_session?: { __typename?: 'CourseSessionObjectType', id: string, title: string, course: { __typename?: 'CourseObjectType', id: string, title: string, slug: string }, users?: Array<{ __typename?: 'CourseSessionUserObjectsType', id: any, user_id?: any | null, first_name?: string | null, last_name?: string | null, email?: string | null, avatar_url?: string | null, role?: string | null, circles?: Array<{ __typename?: 'CourseSessionUserExpertCircleType', id?: string | null, title?: string | null, slug?: string | null } | null> | null } | null> | null, attendance_courses?: Array<{ __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, location: string, trainer: string, learning_content_id?: string | null, due_date?: { __typename?: 'DueDateObjectType', id: string, start?: any | null, end?: any | null } | null, learning_content?: { __typename?: 'LearningContentAttendanceCourseObjectType', id?: string | null, title?: string | null, circle?: { __typename?: 'CircleObjectType', id?: string | null, title?: string | null, slug?: string | null } | null } | null } | null> | null, assignments?: Array<{ __typename?: 'CourseSessionAssignmentObjectType', id: string, submission_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: any | null } | null, evaluation_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: any | null } | null, learning_content?: { __typename?: 'LearningContentAssignmentObjectType', id?: string | null, title?: string | null, content_assignment: { __typename?: 'AssignmentObjectType', id?: string | null, title?: string | null, assignment_type: AssignmentAssignmentAssignmentTypeChoices } } | null } | null> | null, edoniq_tests?: Array<{ __typename?: 'CourseSessionEdoniqTestObjectType', id: string, deadline?: { __typename?: 'DueDateObjectType', id: string, start?: any | null, end?: any | null } | null, learning_content?: { __typename?: 'LearningContentEdoniqTestObjectType', id?: string | null, title?: string | null, content_assignment?: { __typename?: 'AssignmentObjectType', id?: string | null, title?: string | null, assignment_type: AssignmentAssignmentAssignmentTypeChoices } | null } | null } | null> | null } | null }; +export type CourseSessionDetailQuery = { __typename?: 'Query', course_session?: { __typename?: 'CourseSessionObjectType', id: string, title: string, course: { __typename?: 'CourseObjectType', id: string, title: string, slug: string }, users: Array<{ __typename?: 'CourseSessionUserObjectsType', id: string, user_id: string, first_name: string, last_name: string, email: string, avatar_url: string, role: CourseCourseSessionUserRoleChoices, circles: Array<{ __typename?: 'CourseSessionUserExpertCircleType', id: string, title: string, slug: string }> }>, attendance_courses: Array<{ __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, location: string, trainer: string, learning_content_id?: string | null, due_date?: { __typename?: 'DueDateObjectType', id: string, start?: string | null, end?: string | null } | null, learning_content: { __typename?: 'LearningContentAttendanceCourseObjectType', id: string, title: string, circle: { __typename?: 'CircleObjectType', id: string, title: string, slug: string } } }>, assignments: Array<{ __typename?: 'CourseSessionAssignmentObjectType', id: string, submission_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null } | null, evaluation_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null } | null, learning_content: { __typename?: 'LearningContentAssignmentObjectType', id: string, title: string, content_assignment: { __typename?: 'AssignmentObjectType', id: string, title: string, assignment_type: AssignmentAssignmentAssignmentTypeChoices } } }>, edoniq_tests: Array<{ __typename?: 'CourseSessionEdoniqTestObjectType', id: string, deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null, end?: string | null } | null, learning_content: { __typename?: 'LearningContentEdoniqTestObjectType', id: string, title: string, content_assignment?: { __typename?: 'AssignmentObjectType', id: string, title: string, assignment_type: AssignmentAssignmentAssignmentTypeChoices } | null } }> } | null }; export type LearningPathQueryQueryVariables = Exact<{ slug: Scalars['String']['input']; @@ -961,8 +951,8 @@ export type LearningPathQueryQuery = { __typename?: 'Query', learning_path?: ( { __typename?: 'TopicObjectType', is_visible: boolean, circles?: Array<( { __typename?: 'CircleObjectType', learning_sequences?: Array<( { __typename?: 'LearningSequenceObjectType', icon: string, learning_units?: Array<( - { __typename?: 'LearningUnitObjectType', evaluate_url?: string | null, learning_contents?: Array<( - { __typename?: 'LearningContentAssignmentObjectType', assignment_type: LearnpathLearningContentAssignmentAssignmentTypeChoices, content_assignment: { __typename?: 'AssignmentObjectType', id?: string | null } } + { __typename?: 'LearningUnitObjectType', evaluate_url: string, learning_contents: Array<( + { __typename?: 'LearningContentAssignmentObjectType', assignment_type: LearnpathLearningContentAssignmentAssignmentTypeChoices, content_assignment: { __typename?: 'AssignmentObjectType', id: string } } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentAssignmentObjectTypeFragment': CoursePageFieldsLearningContentAssignmentObjectTypeFragment } } ) | ( { __typename?: 'LearningContentAttendanceCourseObjectType' } @@ -991,7 +981,7 @@ export type LearningPathQueryQuery = { __typename?: 'Query', learning_path?: ( ) | ( { __typename?: 'LearningContentVideoObjectType' } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentVideoObjectTypeFragment': CoursePageFieldsLearningContentVideoObjectTypeFragment } } - ) | null> | null } + )> } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningUnitObjectTypeFragment': CoursePageFieldsLearningUnitObjectTypeFragment } } ) | null> | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningSequenceObjectTypeFragment': CoursePageFieldsLearningSequenceObjectTypeFragment } } @@ -1011,14 +1001,13 @@ export type SendFeedbackMutationMutationVariables = Exact<{ }>; -export type SendFeedbackMutationMutation = { __typename?: 'Mutation', send_feedback?: { __typename?: 'SendFeedbackMutation', feedback_response?: { __typename?: 'FeedbackResponseObjectType', id: any, data?: any | null, submitted: boolean } | null, errors?: Array<{ __typename?: 'ErrorType', field: string, messages: Array } | null> | null } | null }; +export type SendFeedbackMutationMutation = { __typename?: 'Mutation', send_feedback?: { __typename?: 'SendFeedbackMutation', feedback_response?: { __typename?: 'FeedbackResponseObjectType', id: string, data?: any | null, submitted: boolean } | null, errors?: Array<{ __typename?: 'ErrorType', field: string, messages: Array } | null> | null } | null }; export const CoursePageFieldsFragmentDoc = {"kind":"Document","definitions":[{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; export const AttendanceCheckMutationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"AttendanceCheckMutation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"attendanceCourseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"attendanceUserList"}},"type":{"kind":"NonNullType","type":{"kind":"ListType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AttendanceUserInputType"}}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"update_course_session_attendance_course_users"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"attendanceCourseId"}}},{"kind":"Argument","name":{"kind":"Name","value":"attendance_user_list"},"value":{"kind":"Variable","name":{"kind":"Name","value":"attendanceUserList"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"course_session_attendance_course"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attendance_user_list"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"user_id"}},{"kind":"Field","name":{"kind":"Name","value":"first_name"}},{"kind":"Field","name":{"kind":"Name","value":"last_name"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const UpsertAssignmentCompletionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpsertAssignmentCompletion"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"completionStatus"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AssignmentCompletionStatus"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"completionDataString"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"evaluationPoints"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"initializeCompletion"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"upsert_assignment_completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"assignment_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}},{"kind":"Argument","name":{"kind":"Name","value":"learning_content_page_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"assignment_user_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}}},{"kind":"Argument","name":{"kind":"Name","value":"completion_status"},"value":{"kind":"Variable","name":{"kind":"Name","value":"completionStatus"}}},{"kind":"Argument","name":{"kind":"Name","value":"completion_data_string"},"value":{"kind":"Variable","name":{"kind":"Name","value":"completionDataString"}}},{"kind":"Argument","name":{"kind":"Name","value":"evaluation_points"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evaluationPoints"}}},{"kind":"Argument","name":{"kind":"Name","value":"initialize_completion"},"value":{"kind":"Variable","name":{"kind":"Name","value":"initializeCompletion"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment_completion"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion_data"}},{"kind":"Field","name":{"kind":"Name","value":"task_completion_data"}}]}}]}}]}}]} as unknown as DocumentNode; export const AttendanceCheckQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"attendanceCheckQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"course_session_attendance_course"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attendance_user_list"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"user_id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]}}]} as unknown as DocumentNode; export const AssignmentCompletionQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"assignmentCompletionQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"needs_expert_evaluation"}},{"kind":"Field","name":{"kind":"Name","value":"max_points"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"effort_required"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_description"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_document_url"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_tasks"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"intro_text"}},{"kind":"Field","name":{"kind":"Name","value":"performance_objectives"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"tasks"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"translation_key"}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificate"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"assignment_completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"assignment_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}},{"kind":"Argument","name":{"kind":"Name","value":"assignment_user_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}}},{"kind":"Argument","name":{"kind":"Name","value":"learning_content_page_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"assignment_user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_max_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_passed"}},{"kind":"Field","name":{"kind":"Name","value":"edoniq_extended_time_flag"}},{"kind":"Field","name":{"kind":"Name","value":"completion_data"}},{"kind":"Field","name":{"kind":"Name","value":"task_completion_data"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; -export const CourseQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"courseQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"course"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"category_name"}},{"kind":"Field","name":{"kind":"Name","value":"learning_path"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]} as unknown as DocumentNode; export const CompetenceCertificateQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"competenceCertificateQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"competence_certificate_list"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"assignments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"max_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_max_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_passed"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"circle"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; export const CourseSessionDetailDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"courseSessionDetail"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"course_session"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"course"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}},{"kind":"Field","name":{"kind":"Name","value":"users"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"user_id"}},{"kind":"Field","name":{"kind":"Name","value":"first_name"}},{"kind":"Field","name":{"kind":"Name","value":"last_name"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"avatar_url"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"attendance_courses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"location"}},{"kind":"Field","name":{"kind":"Name","value":"trainer"}},{"kind":"Field","name":{"kind":"Name","value":"due_date"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content_id"}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"circle"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"assignments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"submission_deadline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_deadline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"content_assignment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"edoniq_tests"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"deadline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"content_assignment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const LearningPathQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"learningPathQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"slug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"learning_path"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"slug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"topics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"is_visible"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"learning_sequences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"learning_units"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evaluate_url"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"learning_contents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningContentAssignmentObjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"content_assignment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}}]}}]}}]}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; diff --git a/client/src/gql/schema.graphql b/client/src/gql/schema.graphql index 2168b783..d33354ee 100644 --- a/client/src/gql/schema.graphql +++ b/client/src/gql/schema.graphql @@ -21,12 +21,12 @@ type Query { } type LearningPathObjectType implements CoursePageInterface { - id: ID + id: ID! path: String! depth: Int! numchild: Int! - translation_key: String - live: Boolean + translation_key: String! + live: Boolean! has_unpublished_changes: Boolean! first_published_at: DateTime last_published_at: DateTime @@ -35,13 +35,13 @@ type LearningPathObjectType implements CoursePageInterface { expired: Boolean! locked: Boolean! locked_at: DateTime - locked_by: UserType - title: String + locked_by: UserObjectType + title: String! draft_title: String! - slug: String - content_type: String + slug: String! + content_type: String! url_path: String! - owner: UserType + owner: UserObjectType """ Der Titel der Seite, dargestellt in Suchmaschinen-Ergebnissen als die verlinkte Überschrift. @@ -58,20 +58,20 @@ type LearningPathObjectType implements CoursePageInterface { """ search_description: String! latest_revision_created_at: DateTime - frontend_url: String + frontend_url: String! circle: CircleObjectType course: CourseObjectType topics: [TopicObjectType] } interface CoursePageInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType } @@ -79,13 +79,13 @@ interface CoursePageInterface { 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 + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType learning_sequences: [LearningSequenceObjectType] @@ -96,46 +96,45 @@ type CourseObjectType { title: String! category_name: String! slug: String! - learning_path: LearningPathObjectType } type LearningSequenceObjectType implements CoursePageInterface { icon: String! - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType learning_units: [LearningUnitObjectType] } type LearningUnitObjectType implements CoursePageInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType - learning_contents: [LearningContentInterface] - evaluate_url: String + learning_contents: [LearningContentInterface!]! + evaluate_url: String! } interface LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -149,7 +148,7 @@ value as specified by """ scalar DateTime -type UserType { +type UserObjectType { """ Erforderlich. 150 Zeichen oder weniger. Nur Buchstaben, Ziffern und @/./+/-/_. """ @@ -182,27 +181,27 @@ enum CoreUserLanguageChoices { type TopicObjectType implements CoursePageInterface { is_visible: Boolean! - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType circles: [CircleObjectType] } type LearningContentMediaLibraryObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -212,14 +211,14 @@ type LearningContentMediaLibraryObjectType implements CoursePageInterface & Lear type LearningContentAssignmentObjectType implements CoursePageInterface & LearningContentInterface { content_assignment: AssignmentObjectType! assignment_type: LearnpathLearningContentAssignmentAssignmentTypeChoices! - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -246,13 +245,13 @@ type AssignmentObjectType implements CoursePageInterface { """URL zum Beurteilungsinstrument""" evaluation_document_url: String! - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType tasks: JSONStreamField @@ -282,16 +281,16 @@ enum AssignmentAssignmentAssignmentTypeChoices { } type CompetenceCertificateObjectType implements CoursePageInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! circle: CircleObjectType course: CourseObjectType - assignments: [AssignmentObjectType] + assignments: [AssignmentObjectType!]! } scalar JSONStreamField @@ -302,12 +301,12 @@ type AssignmentCompletionObjectType { updated_at: DateTime! submitted_at: DateTime evaluation_submitted_at: DateTime - evaluation_user: UserType + evaluation_user: UserObjectType evaluation_points: Float evaluation_max_points: Float evaluation_passed: Boolean edoniq_extended_time_flag: Boolean! - assignment_user: UserType! + assignment_user: UserObjectType! assignment: AssignmentObjectType! course_session: CourseSessionObjectType! completion_status: AssignmentAssignmentCompletionCompletionStatusChoices! @@ -325,11 +324,10 @@ type CourseSessionObjectType { title: String! start_date: Date end_date: Date - attendance_courses: [CourseSessionAttendanceCourseObjectType] - assignments: [CourseSessionAssignmentObjectType] - edoniq_tests: [CourseSessionEdoniqTestObjectType] - documents: [CircleDocumentObjectType] - users: [CourseSessionUserObjectsType] + attendance_courses: [CourseSessionAttendanceCourseObjectType!]! + assignments: [CourseSessionAssignmentObjectType!]! + edoniq_tests: [CourseSessionEdoniqTestObjectType!]! + users: [CourseSessionUserObjectsType!]! } """ @@ -341,7 +339,7 @@ scalar Date type CourseSessionAttendanceCourseObjectType { id: ID! - learning_content: LearningContentAttendanceCourseObjectType + learning_content: LearningContentAttendanceCourseObjectType! due_date: DueDateObjectType location: String! trainer: String! @@ -351,14 +349,14 @@ type CourseSessionAttendanceCourseObjectType { } type LearningContentAttendanceCourseObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -414,61 +412,64 @@ enum AttendanceUserStatus { type CourseSessionAssignmentObjectType { id: ID! - learning_content: LearningContentAssignmentObjectType + learning_content: LearningContentAssignmentObjectType! submission_deadline: DueDateObjectType evaluation_deadline: DueDateObjectType - course_session_id: ID - learning_content_id: ID + course_session_id: ID! + learning_content_id: ID! } type CourseSessionEdoniqTestObjectType { id: ID! - learning_content: LearningContentEdoniqTestObjectType + learning_content: LearningContentEdoniqTestObjectType! deadline: DueDateObjectType - course_session_id: ID - learning_content_id: ID + course_session_id: ID! + learning_content_id: ID! } type LearningContentEdoniqTestObjectType implements CoursePageInterface & LearningContentInterface { content_assignment: AssignmentObjectType - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String content: String } -type CircleDocumentObjectType { - id: UUID! - name: String! - course_session: CourseSessionObjectType! - learning_sequence: LearningSequenceObjectType! - file_name: String - url: String -} - type CourseSessionUserObjectsType { id: UUID! - role: String - user_id: UUID - first_name: String - last_name: String - email: String - avatar_url: String - circles: [CourseSessionUserExpertCircleType] + role: CourseCourseSessionUserRoleChoices! + user_id: UUID! + first_name: String! + last_name: String! + email: String! + avatar_url: String! + circles: [CourseSessionUserExpertCircleType!]! +} + +"""An enumeration.""" +enum CourseCourseSessionUserRoleChoices { + """Teilnehmer""" + MEMBER + + """Experte/Trainer""" + EXPERT + + """Lernbegleitung""" + TUTOR } type CourseSessionUserExpertCircleType { - id: ID - title: String - slug: String + id: ID! + title: String! + slug: String! } """An enumeration.""" @@ -520,14 +521,14 @@ enum LearnpathLearningContentAssignmentAssignmentTypeChoices { } type LearningContentFeedbackObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -535,14 +536,14 @@ type LearningContentFeedbackObjectType implements CoursePageInterface & Learning } type LearningContentLearningModuleObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -550,14 +551,14 @@ type LearningContentLearningModuleObjectType implements CoursePageInterface & Le } type LearningContentPlaceholderObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -565,14 +566,14 @@ type LearningContentPlaceholderObjectType implements CoursePageInterface & Learn } type LearningContentRichTextObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -580,14 +581,14 @@ type LearningContentRichTextObjectType implements CoursePageInterface & Learning } type LearningContentVideoObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -595,14 +596,14 @@ type LearningContentVideoObjectType implements CoursePageInterface & LearningCon } type LearningContentDocumentListObjectType implements CoursePageInterface & LearningContentInterface { - id: ID - title: String - slug: String - content_type: String - live: Boolean - translation_key: String - frontend_url: String - circle: CircleObjectType + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + circle: CircleObjectType! course: CourseObjectType minutes: Int description: String @@ -610,12 +611,12 @@ type LearningContentDocumentListObjectType implements CoursePageInterface & Lear } type CompetenceCertificateListObjectType implements CoursePageInterface { - id: ID + id: ID! path: String! depth: Int! numchild: Int! - translation_key: String - live: Boolean + translation_key: String! + live: Boolean! has_unpublished_changes: Boolean! first_published_at: DateTime last_published_at: DateTime @@ -624,13 +625,13 @@ type CompetenceCertificateListObjectType implements CoursePageInterface { expired: Boolean! locked: Boolean! locked_at: DateTime - locked_by: UserType - title: String + locked_by: UserObjectType + title: String! draft_title: String! - slug: String - content_type: String + slug: String! + content_type: String! url_path: String! - owner: UserType + owner: UserObjectType """ Der Titel der Seite, dargestellt in Suchmaschinen-Ergebnissen als die verlinkte Überschrift. @@ -647,10 +648,10 @@ type CompetenceCertificateListObjectType implements CoursePageInterface { """ search_description: String! latest_revision_created_at: DateTime - frontend_url: String + frontend_url: String! circle: CircleObjectType course: CourseObjectType - competence_certificates: [CompetenceCertificateObjectType] + competence_certificates: [CompetenceCertificateObjectType!]! } type Mutation { diff --git a/client/src/gql/typenames.ts b/client/src/gql/typenames.ts index f48d2629..e58ebef7 100644 --- a/client/src/gql/typenames.ts +++ b/client/src/gql/typenames.ts @@ -9,11 +9,11 @@ export const AttendanceUserInputType = "AttendanceUserInputType"; export const AttendanceUserObjectType = "AttendanceUserObjectType"; export const AttendanceUserStatus = "AttendanceUserStatus"; export const Boolean = "Boolean"; -export const CircleDocumentObjectType = "CircleDocumentObjectType"; export const CircleObjectType = "CircleObjectType"; export const CompetenceCertificateListObjectType = "CompetenceCertificateListObjectType"; export const CompetenceCertificateObjectType = "CompetenceCertificateObjectType"; export const CoreUserLanguageChoices = "CoreUserLanguageChoices"; +export const CourseCourseSessionUserRoleChoices = "CourseCourseSessionUserRoleChoices"; export const CourseObjectType = "CourseObjectType"; export const CoursePageInterface = "CoursePageInterface"; export const CourseSessionAssignmentObjectType = "CourseSessionAssignmentObjectType"; @@ -54,4 +54,4 @@ export const SendFeedbackMutation = "SendFeedbackMutation"; export const String = "String"; export const TopicObjectType = "TopicObjectType"; export const UUID = "UUID"; -export const UserType = "UserType"; +export const UserObjectType = "UserObjectType"; diff --git a/client/src/graphql/client.ts b/client/src/graphql/client.ts index 67c2f5fb..2cfbd4aa 100644 --- a/client/src/graphql/client.ts +++ b/client/src/graphql/client.ts @@ -2,7 +2,7 @@ // @ts-ignore import { cacheExchange } from "@urql/exchange-graphcache"; import { Client, fetchExchange } from "@urql/vue"; -import schema from "../gql/minifiedSchema.json"; +import schema from "../gql/dist/minifiedSchema.json"; import { AssignmentCompletionMutation, AssignmentCompletionObjectType, diff --git a/client/src/graphql/queries.ts b/client/src/graphql/queries.ts index 76e5f2ef..42b3022b 100644 --- a/client/src/graphql/queries.ts +++ b/client/src/graphql/queries.ts @@ -76,20 +76,6 @@ export const ASSIGNMENT_COMPLETION_QUERY = graphql(` } `); -export const COURSE_QUERY = graphql(` - query courseQuery($courseId: ID!) { - course(id: $courseId) { - id - slug - title - category_name - learning_path { - id - } - } - } -`); - export const COMPETENCE_NAVI_CERTIFICATE_QUERY = graphql(` query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) { competence_certificate_list(course_slug: $courseSlug) { diff --git a/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationContainer.vue b/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationContainer.vue index ed2b47a8..f943f35c 100644 --- a/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationContainer.vue +++ b/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationContainer.vue @@ -65,7 +65,7 @@ const assignmentDetail = computed(() => { }); const dueDate = computed(() => - dayjs(assignmentDetail.value?.evaluation_deadline.start) + dayjs(assignmentDetail.value?.evaluation_deadline?.start) ); const inEvaluationTask = computed( diff --git a/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationSummary.vue b/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationSummary.vue index db9cfe44..47f9d73e 100644 --- a/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationSummary.vue +++ b/client/src/pages/cockpit/assignmentEvaluationPage/EvaluationSummary.vue @@ -81,7 +81,7 @@ const courseSessionDetailResult = useCourseSessionDetailQuery(); const evaluationUser = computed(() => { if (props.assignmentCompletion.evaluation_user) { return courseSessionDetailResult.findUser( - props.assignmentCompletion.evaluation_user + props.assignmentCompletion.evaluation_user?.id ); } return undefined; diff --git a/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue b/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue index 7433a216..518484b7 100644 --- a/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue +++ b/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue @@ -33,7 +33,7 @@ const presenceCoursesDropdownOptions = computed(() => { id: attendanceCourse.id, name: `${t("Präsenzkurs")} ${ attendanceCourse.learning_content.circle.title - } ${dayjs(attendanceCourse.due_date.start).format("DD.MM.YYYY")}`, + } ${dayjs(attendanceCourse.due_date?.start).format("DD.MM.YYYY")}`, } as DropdownSelectable) ); }); diff --git a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentIntroductionView.vue b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentIntroductionView.vue index a66b0dea..8b73b907 100644 --- a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentIntroductionView.vue +++ b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentIntroductionView.vue @@ -7,7 +7,7 @@ import dayjs from "dayjs"; interface Props { assignment: Assignment; - submissionDeadlineStart?: string; + submissionDeadlineStart?: string | null; } const props = withDefaults(defineProps(), { diff --git a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionView.vue b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionView.vue index 6a4163eb..19059d25 100644 --- a/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionView.vue +++ b/client/src/pages/learningPath/learningContentPage/assignment/AssignmentSubmissionView.vue @@ -22,7 +22,7 @@ const props = defineProps<{ learningContentId: string; assignmentCompletion?: AssignmentCompletion; courseSessionId: string; - submissionDeadlineStart?: string; + submissionDeadlineStart?: string | null; }>(); const emit = defineEmits<{ diff --git a/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue index 83ae00db..44d8c31c 100644 --- a/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue +++ b/client/src/pages/learningPath/learningContentPage/attendanceCourse/AttendanceCourse.vue @@ -5,8 +5,8 @@

{{ formatDueDate( - props.attendanceCourse.due_date.start, - props.attendanceCourse.due_date.end + props.attendanceCourse.due_date?.start ?? "", + props.attendanceCourse.due_date?.end ) }}

@@ -28,11 +28,11 @@