/* eslint-disable */
import type { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
export type Maybe<T> = T | null;
export type InputMaybe<T> = Maybe<T>;
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
/** All built-in and custom scalars, mapped to their actual values */
export type Scalars = {
  ID: { input: string; output: string; }
  String: { input: string; output: string; }
  Boolean: { input: boolean; output: boolean; }
  Int: { input: number; output: number; }
  Float: { input: number; output: number; }
  /**
   * The `DateTime` scalar type represents a DateTime
   * value as specified by
   * [iso8601](https://en.wikipedia.org/wiki/ISO_8601).
   */
  DateTime: { input: any; output: any; }
  /**
   * The `GenericScalar` scalar type represents a generic
   * GraphQL scalar value that could be:
   * String, Boolean, Int, Float, List or Object.
   */
  GenericScalar: { input: any; output: any; }
  JSONStreamField: { input: any; output: any; }
  /**
   * Allows use of a JSON String for input / output from the GraphQL schema.
   *
   * Use of this type is *not recommended* as you lose the benefits of having a defined, static
   * schema (one of the key benefits of GraphQL).
   */
  JSONString: { input: any; output: any; }
};

/** An enumeration. */
export enum AssignmentAssignmentAssignmentTypeChoices {
  /** CASEWORK */
  Casework = 'CASEWORK',
  /** PREP_ASSIGNMENT */
  PrepAssignment = 'PREP_ASSIGNMENT',
  /** REFLECTION */
  Reflection = 'REFLECTION'
}

/** An enumeration. */
export enum AssignmentAssignmentCompletionCompletionStatusChoices {
  /** EVALUATION_IN_PROGRESS */
  EvaluationInProgress = 'EVALUATION_IN_PROGRESS',
  /** EVALUATION_SUBMITTED */
  EvaluationSubmitted = 'EVALUATION_SUBMITTED',
  /** IN_PROGRESS */
  InProgress = 'IN_PROGRESS',
  /** SUBMITTED */
  Submitted = 'SUBMITTED'
}

export type AssignmentCompletionMutation = {
  __typename?: 'AssignmentCompletionMutation';
  assignment_completion?: Maybe<AssignmentCompletionType>;
};

export type AssignmentCompletionType = {
  __typename?: 'AssignmentCompletionType';
  additional_json_data: Scalars['JSONString']['output'];
  assignment: AssignmentType;
  assignment_user: UserType;
  completion_data?: Maybe<Scalars['GenericScalar']['output']>;
  completion_status: AssignmentAssignmentCompletionCompletionStatusChoices;
  created_at: Scalars['DateTime']['output'];
  evaluation_grade?: Maybe<Scalars['Float']['output']>;
  evaluation_points?: Maybe<Scalars['Float']['output']>;
  evaluation_submitted_at?: Maybe<Scalars['DateTime']['output']>;
  evaluation_user?: Maybe<UserType>;
  id: Scalars['ID']['output'];
  submitted_at?: Maybe<Scalars['DateTime']['output']>;
  updated_at: Scalars['DateTime']['output'];
};

export type AssignmentType = CoursePageInterface & {
  __typename?: 'AssignmentType';
  assignment_type: AssignmentAssignmentAssignmentTypeChoices;
  content_type?: Maybe<Scalars['String']['output']>;
  /** Zeitaufwand als Text */
  effort_required: Scalars['String']['output'];
  /** Beschreibung der Bewertung */
  evaluation_description: Scalars['String']['output'];
  /** URL zum Beurteilungsinstrument */
  evaluation_document_url: Scalars['String']['output'];
  evaluation_tasks?: Maybe<Scalars['JSONStreamField']['output']>;
  frontend_url?: Maybe<Scalars['String']['output']>;
  id?: Maybe<Scalars['ID']['output']>;
  /** Erläuterung der Ausgangslage */
  intro_text: Scalars['String']['output'];
  live?: Maybe<Scalars['Boolean']['output']>;
  performance_objectives?: Maybe<Scalars['JSONStreamField']['output']>;
  slug?: Maybe<Scalars['String']['output']>;
  tasks?: Maybe<Scalars['JSONStreamField']['output']>;
  title?: Maybe<Scalars['String']['output']>;
  translation_key?: Maybe<Scalars['String']['output']>;
};

/** An enumeration. */
export enum CoreUserLanguageChoices {
  /** Deutsch */
  De = 'DE',
  /** Français */
  Fr = 'FR',
  /** Italiano */
  It = 'IT'
}

export type CoursePageInterface = {
  content_type?: Maybe<Scalars['String']['output']>;
  frontend_url?: Maybe<Scalars['String']['output']>;
  id?: Maybe<Scalars['ID']['output']>;
  live?: Maybe<Scalars['Boolean']['output']>;
  slug?: Maybe<Scalars['String']['output']>;
  title?: Maybe<Scalars['String']['output']>;
  translation_key?: Maybe<Scalars['String']['output']>;
};

export type CourseType = {
  __typename?: 'CourseType';
  category_name: Scalars['String']['output'];
  id: Scalars['ID']['output'];
  learning_path?: Maybe<LearningPathType>;
  slug: Scalars['String']['output'];
  title: Scalars['String']['output'];
};

export type ErrorType = {
  __typename?: 'ErrorType';
  field: Scalars['String']['output'];
  messages: Array<Scalars['String']['output']>;
};

export type FeedbackResponse = Node & {
  __typename?: 'FeedbackResponse';
  created_at: Scalars['DateTime']['output'];
  data?: Maybe<Scalars['GenericScalar']['output']>;
  /** The ID of the object */
  id: Scalars['ID']['output'];
};

export type LearningPathType = CoursePageInterface & {
  __typename?: 'LearningPathType';
  content_type?: Maybe<Scalars['String']['output']>;
  depth: Scalars['Int']['output'];
  draft_title: Scalars['String']['output'];
  expire_at?: Maybe<Scalars['DateTime']['output']>;
  expired: Scalars['Boolean']['output'];
  first_published_at?: Maybe<Scalars['DateTime']['output']>;
  frontend_url?: Maybe<Scalars['String']['output']>;
  go_live_at?: Maybe<Scalars['DateTime']['output']>;
  has_unpublished_changes: Scalars['Boolean']['output'];
  id?: Maybe<Scalars['ID']['output']>;
  last_published_at?: Maybe<Scalars['DateTime']['output']>;
  latest_revision_created_at?: Maybe<Scalars['DateTime']['output']>;
  live?: Maybe<Scalars['Boolean']['output']>;
  locked: Scalars['Boolean']['output'];
  locked_at?: Maybe<Scalars['DateTime']['output']>;
  locked_by?: Maybe<UserType>;
  numchild: Scalars['Int']['output'];
  owner?: Maybe<UserType>;
  path: Scalars['String']['output'];
  /** Die informative Beschreibung, dargestellt in Suchmaschinen-Ergebnissen unter der Überschrift. */
  search_description: Scalars['String']['output'];
  /** Der Titel der Seite, dargestellt in Suchmaschinen-Ergebnissen als die verlinkte Überschrift. */
  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<Scalars['String']['output']>;
  title?: Maybe<Scalars['String']['output']>;
  translation_key?: Maybe<Scalars['String']['output']>;
  url_path: Scalars['String']['output'];
};

export type Mutation = {
  __typename?: 'Mutation';
  send_feedback?: Maybe<SendFeedbackPayload>;
  upsert_assignment_completion?: Maybe<AssignmentCompletionMutation>;
};


export type MutationSend_FeedbackArgs = {
  input: SendFeedbackInput;
};


export type MutationUpsert_Assignment_CompletionArgs = {
  assignment_id: Scalars['ID']['input'];
  assignment_user_id?: InputMaybe<Scalars['ID']['input']>;
  completion_data_string?: InputMaybe<Scalars['String']['input']>;
  completion_status?: InputMaybe<Scalars['String']['input']>;
  course_session_id: Scalars['ID']['input'];
  evaluation_grade?: InputMaybe<Scalars['Float']['input']>;
  evaluation_points?: InputMaybe<Scalars['Float']['input']>;
};

/** An object with an ID */
export type Node = {
  /** The ID of the object */
  id: Scalars['ID']['output'];
};

export type Query = {
  __typename?: 'Query';
  assignment?: Maybe<AssignmentType>;
  assignment_completion?: Maybe<AssignmentCompletionType>;
  course?: Maybe<CourseType>;
};


export type QueryAssignmentArgs = {
  id?: InputMaybe<Scalars['ID']['input']>;
  slug?: InputMaybe<Scalars['String']['input']>;
};


export type QueryAssignment_CompletionArgs = {
  assignment_id: Scalars['ID']['input'];
  assignment_user_id?: InputMaybe<Scalars['ID']['input']>;
  course_session_id: Scalars['ID']['input'];
};


export type QueryCourseArgs = {
  id?: InputMaybe<Scalars['Int']['input']>;
};

export type SendFeedbackInput = {
  clientMutationId?: InputMaybe<Scalars['String']['input']>;
  course_session: Scalars['Int']['input'];
  data?: InputMaybe<Scalars['GenericScalar']['input']>;
  page: Scalars['String']['input'];
};

export type SendFeedbackPayload = {
  __typename?: 'SendFeedbackPayload';
  clientMutationId?: Maybe<Scalars['String']['output']>;
  /** May contain more than one error for same field. */
  errors?: Maybe<Array<Maybe<ErrorType>>>;
  feedback_response?: Maybe<FeedbackResponse>;
};

export type UserType = {
  __typename?: 'UserType';
  avatar_url: Scalars['String']['output'];
  email: Scalars['String']['output'];
  first_name: Scalars['String']['output'];
  id: Scalars['ID']['output'];
  language: CoreUserLanguageChoices;
  last_name: Scalars['String']['output'];
  /** Erforderlich. 150 Zeichen oder weniger. Nur Buchstaben, Ziffern und @/./+/-/_. */
  username: Scalars['String']['output'];
};

export type SendFeedbackMutationMutationVariables = Exact<{
  input: SendFeedbackInput;
}>;


export type SendFeedbackMutationMutation = { __typename?: 'Mutation', send_feedback?: { __typename?: 'SendFeedbackPayload', feedback_response?: { __typename?: 'FeedbackResponse', id: string } | null, errors?: Array<{ __typename?: 'ErrorType', field: string, messages: Array<string> } | null> | null } | null };

export type UpsertAssignmentCompletionMutationVariables = Exact<{
  assignmentId: Scalars['ID']['input'];
  courseSessionId: Scalars['ID']['input'];
  assignmentUserId?: InputMaybe<Scalars['ID']['input']>;
  completionStatus: Scalars['String']['input'];
  completionDataString: Scalars['String']['input'];
  evaluationGrade?: InputMaybe<Scalars['Float']['input']>;
  evaluationPoints?: InputMaybe<Scalars['Float']['input']>;
}>;


export type UpsertAssignmentCompletionMutation = { __typename?: 'Mutation', upsert_assignment_completion?: { __typename?: 'AssignmentCompletionMutation', assignment_completion?: { __typename?: 'AssignmentCompletionType', id: string, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: any | null, evaluation_submitted_at?: any | null, evaluation_grade?: number | null, evaluation_points?: number | null, completion_data?: any | null } | null } | null };

export type AssignmentCompletionQueryQueryVariables = Exact<{
  assignmentId: Scalars['ID']['input'];
  courseSessionId: Scalars['ID']['input'];
  assignmentUserId?: InputMaybe<Scalars['ID']['input']>;
}>;


export type AssignmentCompletionQueryQuery = { __typename?: 'Query', assignment?: { __typename?: 'AssignmentType', assignment_type: AssignmentAssignmentAssignmentTypeChoices, 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 } | null, assignment_completion?: { __typename?: 'AssignmentCompletionType', id: string, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: any | null, evaluation_submitted_at?: any | null, evaluation_grade?: number | null, evaluation_points?: number | null, completion_data?: any | null, evaluation_user?: { __typename?: 'UserType', id: string } | null, assignment_user: { __typename?: 'UserType', id: string } } | null };

export type CourseQueryQueryVariables = Exact<{
  courseId: Scalars['Int']['input'];
}>;


export type CourseQueryQuery = { __typename?: 'Query', course?: { __typename?: 'CourseType', id: string, slug: string, title: string, category_name: string, learning_path?: { __typename?: 'LearningPathType', id?: string | null } | null } | null };


export const SendFeedbackMutationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SendFeedbackMutation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"input"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"SendFeedbackInput"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"send_feedback"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"input"},"value":{"kind":"Variable","name":{"kind":"Name","value":"input"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"feedback_response"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"errors"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"Field","name":{"kind":"Name","value":"messages"}}]}}]}}]}}]} as unknown as DocumentNode<SendFeedbackMutationMutation, SendFeedbackMutationMutationVariables>;
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":"assignmentUserId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"completionStatus"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"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":"evaluationGrade"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"evaluationPoints"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}}],"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":"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_grade"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evaluationGrade"}}},{"kind":"Argument","name":{"kind":"Name","value":"evaluation_points"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evaluationPoints"}}}],"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_grade"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion_data"}}]}}]}}]}}]} as unknown as DocumentNode<UpsertAssignmentCompletionMutation, UpsertAssignmentCompletionMutationVariables>;
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":"assignmentUserId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}],"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":"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":"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"}}}],"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_grade"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion_data"}}]}}]}}]} as unknown as DocumentNode<AssignmentCompletionQueryQuery, AssignmentCompletionQueryQueryVariables>;
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":"Int"}}}}],"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<CourseQueryQuery, CourseQueryQueryVariables>;