vbv/client/src/graphql/queries.ts

271 lines
5.8 KiB
TypeScript

import { graphql } from "@/gql";
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const CoursePageFragment = graphql(`
fragment CoursePageFields on CoursePageInterface {
title
id
slug
content_type
frontend_url
}
`);
export const ATTENDANCE_CHECK_QUERY = graphql(`
query attendanceCheckQuery($courseSessionId: ID!) {
course_session_attendance_course(id: $courseSessionId) {
id
attendance_user_list {
user_id
status
}
}
}
`);
export const ASSIGNMENT_COMPLETION_QUERY = graphql(`
query assignmentCompletionQuery(
$assignmentId: ID!
$courseSessionId: ID!
$learningContentId: ID
$assignmentUserId: UUID
) {
assignment(id: $assignmentId) {
assignment_type
needs_expert_evaluation
max_points
content_type
effort_required
evaluation_description
evaluation_document_url
evaluation_tasks
id
intro_text
performance_objectives
slug
tasks
title
translation_key
competence_certificate {
...CoursePageFields
}
}
assignment_completion(
assignment_id: $assignmentId
course_session_id: $courseSessionId
assignment_user_id: $assignmentUserId
learning_content_page_id: $learningContentId
) {
id
completion_status
submitted_at
evaluation_submitted_at
evaluation_user {
id
}
assignment_user {
id
}
evaluation_points
evaluation_max_points
evaluation_passed
edoniq_extended_time_flag
completion_data
task_completion_data
}
}
`);
export const COMPETENCE_NAVI_CERTIFICATE_QUERY = graphql(`
query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {
competence_certificate_list(course_slug: $courseSlug) {
...CoursePageFields
competence_certificates {
...CoursePageFields
assignments {
...CoursePageFields
assignment_type
max_points
completion(course_session_id: $courseSessionId) {
id
completion_status
submitted_at
evaluation_points
evaluation_max_points
evaluation_passed
}
learning_content {
...CoursePageFields
circle {
id
title
slug
}
}
}
}
}
}
`);
export const COURSE_SESSION_DETAIL_QUERY = graphql(`
query courseSessionDetail($courseSessionId: ID!) {
course_session(id: $courseSessionId) {
id
title
course {
id
title
slug
}
users {
id
user_id
first_name
last_name
email
avatar_url
role
circles {
id
title
slug
}
}
attendance_courses {
id
location
trainer
due_date {
id
start
end
}
learning_content_id
learning_content {
id
title
circle {
id
title
slug
}
}
}
assignments {
id
submission_deadline {
id
start
}
evaluation_deadline {
id
start
}
learning_content {
id
title
content_assignment {
id
title
assignment_type
}
}
}
edoniq_tests {
id
deadline {
id
start
end
}
learning_content {
id
title
content_assignment {
id
title
assignment_type
}
}
}
}
}
`);
export const COURSE_QUERY = graphql(`
query courseQuery($slug: String!) {
course(slug: $slug) {
id
title
slug
category_name
action_competences {
competence_id
...CoursePageFields
performance_criteria {
competence_id
learning_unit {
id
slug
evaluate_url
}
...CoursePageFields
}
}
learning_path {
...CoursePageFields
topics {
is_visible
...CoursePageFields
circles {
description
goals
...CoursePageFields
learning_sequences {
icon
...CoursePageFields
learning_units {
evaluate_url
...CoursePageFields
performance_criteria {
...CoursePageFields
}
learning_contents {
can_user_self_toggle_course_completion
content_url
minutes
description
...CoursePageFields
... on LearningContentAssignmentObjectType {
assignment_type
content_assignment {
id
}
competence_certificate {
...CoursePageFields
}
}
... on LearningContentEdoniqTestObjectType {
checkbox_text
has_extended_time_test
content_assignment {
id
}
competence_certificate {
...CoursePageFields
}
}
... on LearningContentRichTextObjectType {
text
}
}
}
}
}
}
}
}
}
`);