vbv/client/src/graphql/queries.ts

610 lines
13 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
solution_sample {
id
url
}
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
first_name
last_name
}
assignment_user {
avatar_url
first_name
last_name
id
}
evaluation_points
evaluation_max_points
evaluation_points_deducted
evaluation_points_deducted_reason
evaluation_points_final
evaluation_passed
edoniq_extended_time_flag
completion_data
task_completion_data
}
}
`);
export const COMPETENCE_NAVI_CERTIFICATE_QUERY = graphql(`
query competenceCertificateQuery(
$courseSlug: String!
$courseSessionId: ID!
$userIds: [UUID!]
) {
competence_certificate_list(course_slug: $courseSlug, user_ids: $userIds) {
...CoursePageFields
competence_certificates {
...CoursePageFields
assignments {
...CoursePageFields
assignment_type
max_points
competence_certificate_weight
completions(course_session_id: $courseSessionId) {
id
assignment_user {
id
}
completion_status
submitted_at
evaluation_points
evaluation_points_deducted
evaluation_points_final
evaluation_max_points
evaluation_passed
evaluation_percent
course_session {
id
title
}
}
learning_content {
...CoursePageFields
circle {
id
title
slug
}
}
}
}
}
}
`);
export const COMPETENCE_NAVI_CERTIFICATE_FOR_USER_QUERY = graphql(`
query competenceCertificateForUserQuery(
$courseSlug: String!
$courseSessionId: ID!
$userIds: [UUID!]!
) {
competence_certificate_list(course_slug: $courseSlug, user_ids: $userIds) {
...CoursePageFields
competence_certificates {
...CoursePageFields
assignments {
...CoursePageFields
assignment_type
max_points
competence_certificate_weight
completions(course_session_id: $courseSessionId) {
id
completion_status
submitted_at
evaluation_points
evaluation_points_final
evaluation_points_deducted
evaluation_max_points
evaluation_passed
evaluation_percent
assignment_user {
id
}
course_session {
id
title
}
}
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
configuration {
id
enable_circle_documents
enable_learning_mentor
enable_competence_certificates
}
}
users {
id
user_id
first_name
last_name
email
avatar_url
role
circles {
id
title
slug
}
optional_attendance
}
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!, $user: String) {
course(slug: $slug) {
id
title
slug
category_name
profiles
course_session_users(id: $user) {
id
__typename
chosen_profile
course_session {
id
}
}
configuration {
id
enable_circle_documents
enable_learning_mentor
enable_competence_certificates
is_uk
is_vv
}
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
profiles
is_base_circle
...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
assignment_type
}
competence_certificate {
...CoursePageFields
}
}
... on LearningContentEdoniqTestObjectType {
checkbox_text
has_extended_time_test
content_assignment {
id
assignment_type
}
competence_certificate {
...CoursePageFields
}
}
... on LearningContentRichTextObjectType {
text
}
}
}
}
}
}
}
}
}
`);
export const DASHBOARD_CONFIG = graphql(`
query dashboardConfig {
dashboard_config {
id
slug
name
dashboard_type
course_configuration {
id
enable_circle_documents
enable_learning_mentor
enable_competence_certificates
is_uk
}
}
}
`);
export const DASHBOARD_COURSE_SESSION_PROGRESS = graphql(`
query dashboardProgress($courseId: ID!) {
course_progress(course_id: $courseId) {
_id
course_id
session_to_continue_id
competence {
_id
total_count
success_count
fail_count
}
assignment {
_id
total_count
points_max_count
points_achieved_count
}
}
}
`);
export const DASHBOARD_COURSE_DATA = graphql(`
query dashboardCourseData($courseId: ID!) {
course_progress(course_id: $courseId) {
_id
course_id
session_to_continue_id
}
}
`);
export const DASHBOARD_COURSE_STATISTICS = graphql(`
query courseStatistics($courseId: ID!) {
course_statistics(course_id: $courseId) {
_id
course_id
course_title
course_slug
course_session_properties {
_id
sessions {
id
name
region
}
generations
circles {
id
name
}
}
course_session_selection_ids
course_session_selection_metrics {
_id
session_count
participant_count
expert_count
}
attendance_day_presences {
_id
records {
_id
course_session_id
generation
region
circle_id
due_date
participants_present
participants_total
details_url
}
summary {
_id
days_completed
participants_present
}
}
feedback_responses {
_id
records {
_id
course_session_id
generation
region
circle_id
experts
satisfaction_average
satisfaction_max
details_url
}
summary {
_id
satisfaction_average
satisfaction_max
total_responses
}
}
assignments {
_id
summary {
_id
completed_count
average_passed
total_passed
total_failed
}
records {
_id
course_session_id
course_session_assignment_id
circle_id
generation
region
assignment_title
assignment_type_translation_key
competence_certificate_title
competence_certificate_id
details_url
deadline
metrics {
_id
passed_count
failed_count
unranked_count
ranking_completed
average_evaluation_percent
average_passed
competence_certificate_weight
}
}
}
competences {
_id
summary {
_id
success_total
fail_total
}
records {
_id
course_session_id
generation
region
circle_id
title
success_count
fail_count
details_url
}
}
}
}
`);
export const DASHBOARD_MENTOR_COMPETENCE_SUMMARY = graphql(`
query mentorCourseStatistics($courseId: ID!, $agentRole: String!) {
mentor_course_statistics(course_id: $courseId, agent_role: $agentRole) {
_id
course_id
course_title
course_slug
course_session_selection_ids
user_selection_ids
course_session_properties {
_id
sessions {
id
name
region
}
generations
circles {
id
name
}
}
assignments {
_id
summary {
_id
completed_count
average_passed
total_passed
total_failed
average_evaluation_percent
}
records {
_id
course_session_id
course_session_assignment_id
course_session_title
circle_id
generation
region
assignment_title
assignment_type_translation_key
competence_certificate_id
competence_certificate_title
details_url
learning_content_id
deadline
metrics {
_id
passed_count
failed_count
unranked_count
ranking_completed
competence_certificate_weight
average_evaluation_percent
average_passed
}
}
}
}
}
`);