vbv/client/src/graphql/queries.ts

210 lines
4.0 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
}
}
`);
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) {
...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 {
title
id
slug
content_type
frontend_url
circle {
...CoursePageFields
}
}
}
}
}
}
`);
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
}
}
}
}
}
`);