QM
query: Query
mutation: Mutation
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
type: QuestionType!
content: Content!
attachments: [File!]!
maxPoints: Int!
question: QuestionVersion!
}
 
"""
Custom error type interface
"""
message: String!
code: String!
}
 
"""
Reprezentace institutu
"""
id: ID!
name: String!
type: ExamType!
status: ExamStatus!
languages: [Language!]!
withTimeBonus: Boolean!
template: Template!
templateVersion: TemplateVersion!
memberBoard: MemberBoardView!
examCenter: ExamCenterView
examSessions(
filter: ExamSessionFilter! = {passed:null,approved:null,sessionState:null,examId:null,templateId:null}
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
}
 
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
}
 
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
}
 
contents: [ContentSimple!]!
content(
language: Language!
languages: [Language!]!
}
 
"""
Identity
"""
id: ID!
name: String!
isAccessible: Boolean!
}
 
"""
Reprezentace MyIdentity
"""
id: ID!
name: String!
isAccessible: Boolean!
systemAdmin: Boolean!
accessibleInstitutes: [InstituteAccess!]!
}
 
"""
QuestionAnswerField
"""
id: ID!
language: Language!
metadata: Json
evaluationWeight: Int!
autoEvaluable: Boolean!
}
 
"""
QuestionTranslation
"""
content: String!
}
 
"""
Reprezentace institutu
"""
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
id: ID!
question: Question!
type: QuestionType!
autoEvaluable: Boolean!
importId: String!
remarks: String
evaluationPoints: Int!
attachments: [LanguageFile!]!
attachmentsInLanguage(
language: Language!
): [LanguageFile!]!
feedbacks(
filter: QuestionVersionFeedbackFilter! = {questionVersionId:null,tenantId:null,examSessionId:null}
olderVersion: QuestionVersion
newerVersion: QuestionVersion
isLatest: Boolean!
createdBy: IdentityView!
createdAt: DateTimeMs!
}
 
"""
Reprezentace institutu
"""
id: ID!
assignmentQuestion: AssignmentQuestion!
newerVersion: SubmissionQuestion
olderVersion: SubmissionQuestion
latestEvaluation: EvaluationQuestion
evaluations: [EvaluationQuestion!]!
}
 
contents: [ContentSimple!]!
content(
language: Language!
languages: [Language!]!
id: ID!
label: String!
parentTopic: Topic
questionCount: Int!
topics: [Topic!]!
}
 
"""
Input pro přidání Institute
"""
key: String!
name: String!
}
 
"""
Input pro přidání Institute
"""
key: String!
name: String!
}
 
"""
ApiToken
"""
id: ID!
isAccessible: Boolean!
name: String!
}
 
"""
Describes user's access to application
"""
id: ID!
name: String!
modules: [ModuleAccess!]!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
}
 
"""
Archyvace katalogu
"""
success: Boolean!
}
 
"""
Reprezentace institutu
"""
id: ID!
templateName: String!
language: Language!
maxPoints: Int!
gradingMode: GradingMode!
passingRequirement: Int
breakDurationMinutes: Int!
blocks: [AssignmentBlock!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
name: String!
durationMinutes: Int!
calculatorAllowed: Boolean!
notepadAllowed: Boolean!
displayTopicLabel: Boolean!
executionSequence: ExecutionSequence!
index: Int!
introPage: Content!
passingRequirement: Int!
questions: [AssignmentQuestion!]!
}
 
"""
Reprezentace assignment question answer fieldu
"""
id: ID!
fieldId: String!
metadata: Json
questionAnswerField: QuestionAnswerField!
}
 
"""
Reprezentace optionu pro answer field
"""
id: ID!
index: Int!
content: String!
questionAnswerFieldOption: QuestionAnswerFieldOption!
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
type: QuestionType!
content: Content!
attachments: [File!]!
maxPoints: Int!
question: QuestionChoice!
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
content: Content!
questionColumn: QuestionColumn!
}
 
"""
Reprezentace assignment question
"""
id: ID!
index: Int!
type: QuestionType!
content: Content!
attachments: [File!]!
maxPoints: Int!
question: QuestionFreeForm!
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
type: QuestionType!
content: Content!
attachments: [File!]!
maxPoints: Int!
question: QuestionMatrix!
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
type: QuestionType!
content: Content!
attachments: [File!]!
maxPoints: Int!
checkingMode: MultiChoiceCheckingMode!
checkingLimit: Int
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
content: Content!
questionOption: QuestionOption!
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
content: Content!
questionRow: QuestionRow!
}
 
"""
Reprezentace institutu
"""
id: ID!
index: Int!
type: QuestionType!
content: Content!
attachments: [File!]!
maxPoints: Int!
question: QuestionTextual!
}
 
"""
Reprezentace institutu
"""
label: String!
content: ContentSimple!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
type AudioFile implements File {
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
duration: Int!
}
 
"""
Reprezentace kandidata
"""
id: ID!
email: EmailAddress!
firstName: String!
lastName: String!
countryCode: String!
isAccessible: Boolean!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace katalogu
"""
id: ID!
name: String!
description: String
isArchived: Boolean!
status: CatalogueStatus!
maxPoints: Int!
questionProvider: QuestionProvider
latestRelease: CatalogueRelease
releases: [CatalogueRelease!]!
languages: [Language!]!
topics: [CatalogueTopic!]!
referenceFiles: [File!]!
questions(
filter: QuestionFilter! = {search:null,type:null,evaluationMode:null,catalogueId:null,catalogueTopicId:null,evaluationPoints:null,language:null}
expiresAt: DateTimeMs
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace katalogu
"""
id: ID!
identifier: String!
languages: [Language!]!
questions: [CatalogueReleaseQuestion!]!
olderVersion: CatalogueRelease
newerVersion: CatalogueRelease
isLatest: Boolean!
createdAt: DateTimeMs!
}
 
message: String!
code: String!
}
 
"""
Reprezentace katalogu
"""
questionVersion: QuestionVersion!
}
 
"""
Reprezentace CatalogueTopic
"""
id: ID!
label: String!
parentTopic: CatalogueReleaseTopic
contents: [ContentSimple!]!
content(
language: Language!
languages: [Language!]!
questionCount: Int!
questionCountRecursive: Int!
}
 
"""
Reprezentace katalogu
"""
}
 
"""
Reprezentace výběru z katalogů
"""
items(
sort: CatalogueSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [Catalogue!]!
count: Int!
}
 
"""
Reprezentace CatalogueTopic
"""
id: ID!
label: String!
parentTopic: CatalogueTopic
topics: [CatalogueTopic!]!
contents: [ContentSimple!]!
content(
language: Language!
languages: [Language!]!
questionCount: Int!
}
 
message: String!
code: String!
}
 
"""
CloneCataloguePayload
"""
result: Catalogue!
}
 
message: String!
code: String!
}
 
"""
Reprezentace Comment
"""
id: ID!
content: String!
commentThread: CommentThread!
author: IdentityView!
createdAt: DateTimeMs!
}
 
"""
Reprezentace CommentThread
"""
id: ID!
resolvedAt: DateTimeMs
}
 
language: Language!
value: Json!
attachments: [File!]!
}
 
message: String!
code: String!
}
 
language: Language!
value: String!
}
 
"""
Reprezentace payloadu
"""
result: Url!
}
 
"""
CreateCataloguePayload
"""
result: Catalogue!
}
 
"""
CreateCommentPayload
"""
result: Comment!
}
 
"""
Reprezentace payloadu
"""
result: Url!
}
 
"""
Reprezentace institutu
"""
result: Exam!
}
 
"""
Reprezentace payloadu
"""
result: Url!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
}
 
"""
Reprezentace payloadu
"""
result: Url!
}
 
"""
Reprezentace institutu
"""
result: Assignment!
}
 
"""
Reprezentace institutu
"""
}
 
"""
CreateQuestionPayload
"""
result: Question!
}
 
"""
Reprezentace institutu
"""
result: Template!
}
 
"""
Reprezentace katalogu
"""
success: Boolean!
}
 
"""
Reprezentace katalogu
"""
success: Boolean!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
}
 
"""
Reprezentace otazky
"""
success: Boolean!
}
 
"""
DeleteTemplatePayload
"""
success: Boolean!
}
 
type DocumentFile implements File {
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
}
 
"""
Reprezentace payloadu
"""
candidate: CandidateView!
assignment: Assignment!
exam: Exam!
examSession: ExamSession!
}
 
"""
Reprezentace institutu
"""
isAllowed: Boolean!
values: [String!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
passed: Boolean!
earnedPercentage: Float!
requiredPercentage: Int!
maxPoints: Int!
earnedPoints: Float!
gradingLabel: GradingLabel
approvedBy: IdentityView
approvedAt: DateTimeMs
createdAt: DateTimeMs!
}
 
"""
Reprezentace institutu
"""
id: ID!
passed: Boolean!
earnedPercentage: Float!
requiredPercentage: Int!
gradingLabel: GradingLabel
approvedBy: IdentityView
approvedAt: DateTimeMs
}
 
"""
Reprezentace institutu
"""
id: ID!
olderVersion: EvaluationQuestion
newerVersion: EvaluationQuestion
isLatest: Boolean!
earnedPoints: Float!
maxPoints: Int!
recommendation: String
explanation: String
createdBy: IdentityView
createdAt: DateTimeMs!
}
 
"""
Reprezentace EvaluationQuestionAnswerField
"""
id: ID!
submissionAnswerField: SubmissionQuestionFreeFormAnswerField!
earnedPoints: Float!
maxPoints: Float!
createdAt: DateTimeMs!
}
 
"""
ExamCenter
"""
id: ID!
name: String!
contactEmail: EmailAddress
instituteId: ID!
memberBoardId: ID!
isAccessible: Boolean!
}
 
message: String!
code: String!
}
 
"""
Reprezentace examu
"""
type ExamOnline implements Exam {
id: ID!
name: String!
type: ExamType!
status: ExamStatus!
languages: [Language!]!
withTimeBonus: Boolean!
template: Template!
templateVersion: TemplateVersion!
memberBoard: MemberBoardView!
examCenter: ExamCenterView
examSessions(
filter: ExamSessionFilter! = {passed:null,approved:null,sessionState:null,examId:null,templateId:null}
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
maxPauseDurationMinutes: Int!
firstStartTime: DateTimeMs!
lastStartTime: DateTimeMs!
}
 
"""
Reprezentace examu
"""
type ExamPaper implements Exam {
id: ID!
name: String!
type: ExamType!
status: ExamStatus!
languages: [Language!]!
withTimeBonus: Boolean!
template: Template!
templateVersion: TemplateVersion!
memberBoard: MemberBoardView!
examCenter: ExamCenterView
examSessions(
filter: ExamSessionFilter! = {passed:null,approved:null,sessionState:null,examId:null,templateId:null}
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
}
 
"""
Reprezentace examu
"""
type ExamProctoring implements Exam {
id: ID!
name: String!
type: ExamType!
status: ExamStatus!
languages: [Language!]!
withTimeBonus: Boolean!
template: Template!
templateVersion: TemplateVersion!
memberBoard: MemberBoardView!
examCenter: ExamCenterView
examSessions(
filter: ExamSessionFilter! = {passed:null,approved:null,sessionState:null,examId:null,templateId:null}
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
proctoringId: ID
secondaryCamera: Boolean!
maxPauseDurationMinutes: Int!
firstStartTime: DateTimeMs!
lastStartTime: DateTimeMs!
}
 
"""
Reprezentace výběru zkoušek
"""
items(
sort: ExamSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [Exam!]!
count: Int!
}
 
"""
Reprezentace ExamSession
"""
id: ID!
proctoringId: ID
username: String!
password: String!
exam: Exam!
candidate: CandidateView!
sessionState: SessionState!
submission: Submission
}
 
"""
Reprezentace výběru z examSession
"""
items(
sort: ExamSessionSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [ExamSession!]!
count: Int!
}
 
"""
Reprezxentace ExamSession
"""
token: ID!
exam: ExamView!
candidateId: ID!
passed: Boolean
earnedPercentage: Float
requiredPercentage: Int!
earnedPoints: Int
maxPoints: Int
evaluatedAt: DateTimeMs
approvedAt: DateTimeMs
isAccessible: Boolean!
}
 
"""
Reprezentace examu
"""
type ExamTablet implements Exam {
id: ID!
name: String!
type: ExamType!
status: ExamStatus!
languages: [Language!]!
withTimeBonus: Boolean!
template: Template!
templateVersion: TemplateVersion!
memberBoard: MemberBoardView!
examCenter: ExamCenterView
examSessions(
filter: ExamSessionFilter! = {passed:null,approved:null,sessionState:null,examId:null,templateId:null}
createdAt: DateTimeMs!
updatedAt: DateTimeMs!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace examu
"""
id: ID!
template: TemplateView!
templateVersionId: ID!
startTime: DateTimeMs
endTime: DateTimeMs
secondaryCamera: Boolean
withTimeBonus: Boolean!
isAccessible: Boolean!
}
 
message: String!
code: String!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
sessionState: SessionState!
}
 
"""
Reprezentace url pro upload souboru
"""
url: String!
}
 
"""
Reprezentace institutu
"""
result: Catalogue!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace institutu
"""
passingRequirement: Int!
roundingMode: RoundingMode!
labels: [GradingLabel!]!
}
 
"""
Reprezentace institutu
"""
requirement: Int!
value: String!
}
 
type ImageFile implements File {
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
width: Int!
height: Int!
}
 
"""
Describes user's access to institute
"""
id: ID!
name: String!
accessibleApps: [AppAccess!]!
isRootUser: Boolean!
}
 
"""
Describes user's data scope within an institute
"""
memberBoardIds: [String!]
examCenterIds: [String!]
}
 
"""
Institute
"""
id: ID!
name: String!
logoFileUrl: Url
isAccessible: Boolean!
}
 
message: String!
code: String!
}
 
"""
Invalid country code provided exception.
"""
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace question version attachment
"""
language: Language!
file: File!
questionVersion: QuestionVersion!
}
 
message: String!
code: String!
}
 
"""
Member Board
"""
id: ID!
name: String!
contactEmail: EmailAddress
instituteId: ID!
logoFileUrl: Url
isAccessible: Boolean!
}
 
"""
Describes user's access to module
"""
id: ID!
name: String!
permissions: [String!]!
}
 
"""
MoveQuestionPayload
"""
success: Boolean!
}
 
message: String!
code: String!
}
 
"""
Root type pro mutation operaci
"""
"Template"
createTemplate(
): CreateTemplateResult! @auth(module: CATALOGUE, permission: TEMPLATE_CREATE)
 
updateTemplate(
id: ID! @resource(type: TEMPLATE)
): UpdateTemplateResult! @auth(module: CATALOGUE, permission: TEMPLATE_UPDATE)
deleteTemplate(
id: ID! @resource(type: TEMPLATE)
): DeleteTemplateResult! @auth(module: CATALOGUE, permission: TEMPLATE_DELETE)
 
"Example assignment"
createExampleAssignment(
templateVersionId: ID! @resource(type: TEMPLATE_VERSION)
language: Language!
): CreateExampleAssignmentResult! @auth(module: CATALOGUE, permission: TEMPLATE_CREATE_EXAMPLE_ASSIGNMENT)
 
createExampleAssignmentQuestion(
questionVersionId: ID! @resource(type: QUESTION_VERSION)
language: Language!
createAssignmentPdf(
id: ID! @resource(type: ASSIGNMENT)
): CreateAssignmentPdfResult! @auth(module: CATALOGUE, permission: TEMPLATE_CREATE_EXAMPLE_ASSIGNMENT)
 
"Exam"
createExam(
input: ExamInput!
): CreateExamResult! @auth(module: EVALUATION, permission: EXAM_CREATE)
 
updateExam(
id: ID! @resource(type: EXAM)
input: ExamInputEdit!
): UpdateExamResult! @auth(module: EVALUATION, permission: EXAM_UPDATE)
deleteExam(
id: ID! @resource(type: EXAM)
): DeleteExamResult! @auth(module: EVALUATION, permission: EXAM_DELETE)
createExamLoginPdfs(
id: ID! @resource(type: EXAM)
): CreateExamLoginPdfsResult! @auth(module: EVALUATION)
createExamSession(
): CreateExamSessionResult! @auth(module: EVALUATION, permission: EXAM_SESSION_CREATE)
deleteExamSession(
id: ID! @resource(type: EXAM_SESSION)
): DeleteExamSessionResult! @auth(module: EVALUATION, permission: EXAM_SESSION_DELETE)
createExamSessionPdf(
id: ID! @resource(type: EXAM_SESSION)
): CreateExamSessionPdfResult! @auth(module: EVALUATION, permission: EXAM_PRINT)
createExamSessionLoginPdf(
id: ID! @resource(type: EXAM_SESSION)
): CreateExamSessionLoginPdfResult! @auth(module: EVALUATION)
downloadExamSession(
id: ID! @resource(type: EXAM_SESSION)
language: Language!
): DownloadExamSessionResult! @auth(module: EVALUATION, permission: DOWNLOAD_EXAM_SESSION)
 
"Catalogue"
createCatalogue(
): CreateCatalogueResult! @auth(module: CATALOGUE, permission: CATALOGUE_CREATE)
 
updateCatalogue(
id: ID! @resource(type: CATALOGUE)
): UpdateCatalogueResult! @auth(module: CATALOGUE, permission: CATALOGUE_UPDATE)
deleteCatalogue(
id: ID! @resource(type: CATALOGUE)
): DeleteCatalogueResult! @auth(module: CATALOGUE, permission: CATALOGUE_DELETE)
releaseCatalogue(
id: ID! @resource(type: CATALOGUE)
): ReleaseCatalogueResult! @auth(module: CATALOGUE, permission: CATALOGUE_RELEASE)
archiveCatalogue(
id: ID! @resource(type: CATALOGUE)
): ArchiveCataloguePayload! @auth(module: CATALOGUE, permission: CATALOGUE_ARCHIVE)
cloneCatalogue(
): CloneCatalogueResult! @auth(module: CATALOGUE, permission: CATALOGUE_CLONE)
setCatalogueLanguages(
id: ID! @resource(type: CATALOGUE)
): SetCatalogueLanguagesResult! @auth(module: CATALOGUE, permission: CATALOGUE_UPDATE)
setCatalogueTopics(
id: ID! @resource(type: CATALOGUE)
): SetCatalogueTopicsResult! @auth(module: CATALOGUE, permission: CATALOGUE_SET_TOPICS)
generateAiExamQuestions(
id: ID! @resource(type: CATALOGUE)
): GenerateAiExamQuestionsResult! @auth(module: CATALOGUE, permission: CATALOGUE_GENERATE_QUESTIONS)
 
"Question"
createQuestion(
): CreateQuestionResult! @auth(module: CATALOGUE, permission: QUESTION_CREATE)
 
updateQuestion(
id: ID! @resource(type: QUESTION)
): UpdateQuestionResult! @auth(module: CATALOGUE, permission: QUESTION_UPDATE)
deleteQuestion(
id: ID! @resource(type: QUESTION)
): DeleteQuestionPayload! @auth(module: CATALOGUE, permission: QUESTION_DELETE)
moveQuestion(
id: ID! @resource(type: QUESTION)
): MoveQuestionResult! @auth(module: CATALOGUE, permission: CATALOGUE_UPDATE)
createComment(
): CreateCommentPayload! @auth(module: CATALOGUE, permission: COMMENT_CREATE)
resolveCommentThread(
id: ID! @resource(type: COMMENT_THREAD)
): ResolveCommentThreadPayload! @auth(module: CATALOGUE, permission: COMMENT_RESOLVE)
 
"Evaluation"
approveEvaluation(
id: ID! @resource(type: EVALUATION)
): ApproveEvaluationPayload! @auth(module: EVALUATION, permission: EVALUATION_APPROVE)
 
approveEvaluationBlock(
id: ID! @resource(type: EVALUATION_BLOCK)
): ApproveEvaluationBlockPayload! @auth(module: EVALUATION, permission: EVALUATION_APPROVE)
updateEvaluationQuestion(
id: ID! @resource(type: EVALUATION_QUESTION)
): UpdateEvaluationQuestionResult! @auth(module: EVALUATION, permission: EVALUATION_UPDATE)
pauseExamSession(
id: ID! @resource(type: EXAM_SESSION)
): PauseExamSessionPayload! @auth(module: EVALUATION, permission: PAUSE_RESUME_EXAM_SESSION)
resumeExamSession(
id: ID! @resource(type: EXAM_SESSION)
): ResumeExamSessionPayload! @auth(module: EVALUATION, permission: PAUSE_RESUME_EXAM_SESSION)
extendExamSession(
id: ID! @resource(type: EXAM_SESSION)
): ExtendExamSessionResult! @auth(module: EVALUATION, permission: EXTEND_EXAM_SESSION)
 
"Tenant Settings"
updateTenantSettings(
 
"Files"
renameFile(
id: ID! @resource(type: FILE)
): RenameFilePayload! @auth(module: CATALOGUE, permission: FILE_RENAME)
 
validateFile(
}
 
"""
Authenticated api token
"""
id: ID!
isAccessible: Boolean!
systemAdmin: Boolean!
accessibleInstitutes: [InstituteAccess!]!
name: String!
}
 
"""
Authenticated user
"""
id: ID!
isAccessible: Boolean!
systemAdmin: Boolean!
accessibleInstitutes: [InstituteAccess!]!
name: String!
firstName: String!
lastName: String!
email: EmailAddress!
language: Language!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
sessionState: SessionState!
}
 
type PdfFile implements File {
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
}
 
"""
Root type pro query operaci
"""
"Auth"
 
"Catalogue crud"
catalogue(
id: ID! @resource(type: CATALOGUE)
): Catalogue! @auth(module: CATALOGUE)
 
catalogues(
filter: CatalogueFilter! = {name:null,hasRelease:null,isArchived:null}
): CatalogueSelection! @auth(module: CATALOGUE)
catalogueRelease(
id: ID! @resource(type: CATALOGUE_RELEASE)
): CatalogueRelease! @auth(module: CATALOGUE)
catalogueReleaseWarnings(
id: ID! @resource(type: CATALOGUE)
): [CatalogueReleaseWarning!]! @auth(module: CATALOGUE)
 
"Question crud"
question(
id: ID! @resource(type: QUESTION)
): Question! @auth(module: CATALOGUE)
 
questions(
filter: QuestionFilter! = {search:null,type:null,evaluationMode:null,catalogueId:null,catalogueTopicId:null,evaluationPoints:null,language:null}
): QuestionSelection! @auth(module: CATALOGUE)
 
"Question provider crud"
questionProvider(
id: ID! @resource(type: QUESTION_PROVIDER)
): QuestionProvider! @auth(module: CATALOGUE)
 
questionProviders(
filter: QuestionProviderFilter! = {type:null}
): QuestionProviderSelection! @auth(module: CATALOGUE)
 
"Template crud"
validateTemplate(
): ValidateTemplateResult! @auth(module: CATALOGUE)
 
validateTemplateBlockGroupRule(
template(
id: ID! @resource(type: TEMPLATE)
): Template! @auth(module: CATALOGUE)
templates(
filter: TemplateFilter! = {name:null,catalogueId:null}
): TemplateSelection! @auth(module: CATALOGUE)
templateVersion(
id: ID! @resource(type: TEMPLATE_VERSION)
): TemplateVersion! @auth(module: CATALOGUE)
templateBlock(
id: ID! @resource(type: TEMPLATE_BLOCK)
): TemplateBlock! @auth(module: CATALOGUE)
 
"Exam crud"
exam(
id: ID! @resource(type: EXAM)
): Exam! @auth(module: EVALUATION)
 
exams(
filter: ExamFilter! = {name:null}
): ExamSelection! @auth(module: EVALUATION)
 
"ExamSession crud"
examSession(
id: ID! @resource(type: EXAM_SESSION)
): ExamSession! @auth(module: EVALUATION)
 
submission(
id: ID! @resource(type: SUBMISSION)
): Submission! @auth(module: EVALUATION)
submissionBlock(
id: ID! @resource(type: SUBMISSION_BLOCK)
): SubmissionBlock! @auth(module: EVALUATION)
submissionQuestion(
id: ID! @resource(type: SUBMISSION_QUESTION)
): SubmissionQuestion! @auth(module: EVALUATION)
evaluationQuestion(
id: ID! @resource(type: EVALUATION_QUESTION)
): EvaluationQuestion! @auth(module: EVALUATION)
 
"Ai exam"
aiExamLanguages(
questionProviderId: ID = null @resource(type: QUESTION_PROVIDER)
): [Language!]! @auth(module: CATALOGUE)
 
aiExamExamTypes(
questionProviderId: ID = null @resource(type: QUESTION_PROVIDER)
): [AiExamExamType!]! @auth(module: CATALOGUE)
aiExamExamTopics(
questionProviderId: ID = null @resource(type: QUESTION_PROVIDER)
examType: String!
): [AiExamExamTopic!]! @auth(module: CATALOGUE)
 
"Translate question"
translateQuestion(
id: ID! @resource(type: QUESTION_VERSION)
targetLanguage: Language!
): QuestionTranslation! @auth(module: CATALOGUE)
 
"Tenant Settings"
tenantSettings: TenantSettings! @root
 
memberBoards: [MemberBoardView!]! @auth(module: CATALOGUE)
 
"Files"
file(
id: ID! @resource(type: FILE)
): File! @auth(module: CATALOGUE)
 
fileUploadUrl(
}
 
"""
Reprezentace institutu
"""
id: ID!
catalogue: Catalogue!
catalogueIndex: Int!
type: QuestionType!
latestVersion: QuestionVersion!
versions: [QuestionVersion!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
language: Language!
metadata: Json
evaluationWeight: Int!
autoEvaluable: Boolean!
optionOrder: EntityOrder!
}
 
"""
QuestionAnswerFieldOption
"""
id: ID!
correct: Boolean!
content: String!
}
 
"""
Reprezentace institutu
"""
id: ID!
language: Language!
metadata: Json
evaluationWeight: Int!
autoEvaluable: Boolean!
evaluationMode: TextualEvaluationMode!
expectedAnswer: String
evaluationHint: String
evaluationHintFile: File
}
 
"""
Reprezentace institutu
"""
id: ID!
question: Question!
type: QuestionType!
autoEvaluable: Boolean!
importId: String!
remarks: String
evaluationPoints: Int!
attachments: [LanguageFile!]!
attachmentsInLanguage(
language: Language!
): [LanguageFile!]!
excludedQuestionVersions: [QuestionChoice!]!
feedbacks(
filter: QuestionVersionFeedbackFilter! = {questionVersionId:null,tenantId:null,examSessionId:null}
olderVersion: QuestionChoice
newerVersion: QuestionChoice
isLatest: Boolean!
createdBy: IdentityView!
createdAt: DateTimeMs!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
options: [QuestionOption!]!
optionOrder: EntityOrder!
}
 
"""
QuestionColumn
"""
id: ID!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
question: Question!
type: QuestionType!
autoEvaluable: Boolean!
importId: String!
remarks: String
evaluationPoints: Int!
attachments: [LanguageFile!]!
attachmentsInLanguage(
language: Language!
): [LanguageFile!]!
excludedQuestionVersions: [QuestionFreeForm!]!
feedbacks(
filter: QuestionVersionFeedbackFilter! = {questionVersionId:null,tenantId:null,examSessionId:null}
olderVersion: QuestionFreeForm
newerVersion: QuestionFreeForm
isLatest: Boolean!
createdBy: IdentityView!
createdAt: DateTimeMs!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
answerFields: [QuestionAnswerField!]!
evaluationMode: FreeFormEvaluationMode!
evaluationThreshold: Int
}
 
"""
Reprezentace institutu
"""
id: ID!
question: Question!
type: QuestionType!
autoEvaluable: Boolean!
importId: String!
remarks: String
evaluationPoints: Int!
attachments: [LanguageFile!]!
attachmentsInLanguage(
language: Language!
): [LanguageFile!]!
excludedQuestionVersions: [QuestionMatrix!]!
feedbacks(
filter: QuestionVersionFeedbackFilter! = {questionVersionId:null,tenantId:null,examSessionId:null}
olderVersion: QuestionMatrix
newerVersion: QuestionMatrix
isLatest: Boolean!
createdBy: IdentityView!
createdAt: DateTimeMs!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
columns: [QuestionColumn!]!
rows: [QuestionRow!]!
columnOrder: EntityOrder!
rowOrder: EntityOrder!
evaluationMode: MatrixEvaluationMode!
}
 
"""
Reprezentace institutu
"""
id: ID!
question: Question!
type: QuestionType!
autoEvaluable: Boolean!
importId: String!
remarks: String
evaluationPoints: Int!
attachments: [LanguageFile!]!
attachmentsInLanguage(
language: Language!
): [LanguageFile!]!
excludedQuestionVersions: [QuestionMultiChoice!]!
feedbacks(
filter: QuestionVersionFeedbackFilter! = {questionVersionId:null,tenantId:null,examSessionId:null}
olderVersion: QuestionMultiChoice
newerVersion: QuestionMultiChoice
isLatest: Boolean!
createdBy: IdentityView!
createdAt: DateTimeMs!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
options: [QuestionOption!]!
optionOrder: EntityOrder!
evaluationMode: MultiChoiceEvaluationMode!
checkingMode: MultiChoiceCheckingMode!
}
 
"""
QuestionOption
"""
id: ID!
correct: Boolean!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
name: String!
endpoint: Url!
}
 
"""
Reprezentace výběru z poskytovatelů otázek
"""
items(
sort: QuestionProviderSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
count: Int!
}
 
"""
QuestionRow
"""
id: ID!
correctColumnIndex: Int!
correctColumn: QuestionColumn!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
}
 
"""
Reprezentace výběru z otázek
"""
items(
sort: QuestionSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [Question!]!
count: Int!
}
 
"""
Reprezentace institutu
"""
id: ID!
question: Question!
type: QuestionType!
autoEvaluable: Boolean!
importId: String!
remarks: String
evaluationPoints: Int!
attachments: [LanguageFile!]!
attachmentsInLanguage(
language: Language!
): [LanguageFile!]!
excludedQuestionVersions: [QuestionTextual!]!
feedbacks(
filter: QuestionVersionFeedbackFilter! = {questionVersionId:null,tenantId:null,examSessionId:null}
olderVersion: QuestionTextual
newerVersion: QuestionTextual
isLatest: Boolean!
createdBy: IdentityView!
createdAt: DateTimeMs!
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
evaluationMode: TextualEvaluationMode!
expectedAnswer: String
matchingModes: [TextualMatchingMode!]
evaluationHint: String
evaluationHintFile: File
}
 
"""
QuestionTranslationChoice
"""
content: String!
options: [String!]!
}
 
"""
QuestionTranslationMultiChoice
"""
content: String!
options: [String!]!
}
 
"""
QuestionTranslationTextual
"""
content: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace feedbacku na question
"""
id: ID!
content: String!
questionVersion: QuestionVersion!
tenantId: String!
examSessionId: String!
createdAt: DateTimeMs!
}
 
"""
Reprezentace výběru z QuestionVersionFeedbacks
"""
items(
sort: QuestionVersionFeedbackSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
count: Int!
}
 
"""
Reprezentace katalogu
"""
}
 
"""
Reprezentace file
"""
result: File!
}
 
"""
ResolveCommentThreadPayload
"""
success: Boolean!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
sessionState: SessionState!
}
 
"""
Reprezentace institutu
"""
timeLeft: Int!
remainingPauseDuration: Int!
}
 
"""
Reprezentace institutu
"""
stage: SessionStage!
blockState: SessionBlockState
}
 
"""
SetCatalogueLanguagesPayload
"""
result: Catalogue!
}
 
"""
SetCatalogueTopicsPayload
"""
result: Catalogue!
}
 
"""
Reprezentace institutu
"""
id: ID!
examSession: ExamSession!
assignment: Assignment!
evaluation: Evaluation!
submissionBlocks: [SubmissionBlock!]!
createdAt: DateTimeMs!
}
 
"""
Reprezentace institutu
"""
id: ID!
evaluation: EvaluationBlock!
submissionQuestions: SubmissionQuestionSelection!
}
 
"""
Reprezentace institutu
"""
id: ID!
assignmentQuestion: AssignmentQuestionChoice!
olderVersion: SubmissionQuestion
newerVersion: SubmissionQuestion
isLatest: Boolean!
latestEvaluation: EvaluationQuestion
evaluations: [EvaluationQuestion!]!
selectedAssignmentOption: AssignmentQuestionOption
}
 
"""
Reprezentace odevzdane freeform odpovedi
"""
id: ID!
assignmentQuestion: AssignmentQuestionFreeForm!
olderVersion: SubmissionQuestion
newerVersion: SubmissionQuestion
isLatest: Boolean!
latestEvaluation: EvaluationQuestion
evaluations: [EvaluationQuestion!]!
}
 
"""
Reprezentace vysledku answer fieldu
"""
id: ID!
assignmentAnswerField: AssignmentQuestionAnswerField!
answer: String
selectedAssignmentOption: AssignmentQuestionAnswerFieldOption
}
 
"""
Reprezentace institutu
"""
id: ID!
assignmentQuestion: AssignmentQuestionMatrix!
olderVersion: SubmissionQuestion
newerVersion: SubmissionQuestion
isLatest: Boolean!
latestEvaluation: EvaluationQuestion
evaluations: [EvaluationQuestion!]!
}
 
"""
Reprezentace odeslane matrix odpovedi
"""
assignmentRow: AssignmentQuestionRow!
selectedAssignmentColumns: [AssignmentQuestionColumn!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
assignmentQuestion: AssignmentQuestionMultiChoice!
olderVersion: SubmissionQuestion
newerVersion: SubmissionQuestion
isLatest: Boolean!
latestEvaluation: EvaluationQuestion
evaluations: [EvaluationQuestion!]!
selectedAssignmentOptions: [AssignmentQuestionOption!]
}
 
"""
Reprezentace výběru z odpovědí na otázky
"""
items(
sort: SubmissionQuestionSort! = INDEX
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
count: Int!
}
 
"""
Reprezentace institutu
"""
id: ID!
assignmentQuestion: AssignmentQuestionTextual!
olderVersion: SubmissionQuestion
newerVersion: SubmissionQuestion
isLatest: Boolean!
latestEvaluation: EvaluationQuestion
evaluations: [EvaluationQuestion!]!
value: String
}
 
"""
Reprezentace institutu
"""
id: ID!
latestVersion: TemplateVersion!
versions: [TemplateVersion!]!
}
 
"""
Reprezentace institutu
"""
contents: [Content!]!
content(
language: Language!
contentLanguages: [Language!]!
id: ID!
name: String!
durationMinutes: Int!
timeBonusMinutes: Int!
calculatorAllowed: Boolean!
notepadAllowed: Boolean!
displayTopicLabel: Boolean!
grading: Grading!
groupOrder: EntityOrder!
resultView: BlockResultView!
executionSequence: ExecutionSequence!
groups: [TemplateBlockGroup!]!
}
 
"""
Reprezentace institutu
"""
id: ID!
questionOrder: EntityOrder!
}
 
"""
Reprezentace institutu
"""
id: ID!
catalogue: Catalogue!
catalogueRelease: CatalogueRelease!
count: Int!
questionTypes: [QuestionType!]
evaluationPoints: Int!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
Reprezentace výběru z šablon
"""
items(
sort: TemplateSort! = CREATED
sortDirection: SortDirection! = DESC
limit: Int! = 10 @intConstraint(min: 1, max: 100)
offset: Int! = 0 @intConstraint(min: 0)
): [Template!]!
count: Int!
}
 
"""
Reprezentace institutu
"""
id: ID!
name: String!
reportName: String!
internalName: String!
template: Template!
olderVersion: TemplateVersion
newerVersion: TemplateVersion
isLatest: Boolean!
identifier: String!
breakDurationMinutes: Int!
grading: Grading
gradingMode: GradingMode!
blockOrder: EntityOrder!
resultView: ResultView!
languages: [Language!]!
restrictions: [EquipmentRestriction!]!
blocks: [TemplateBlock!]!
autoEvaluable: Boolean!
requireDocuments: Boolean!
createdAt: DateTimeMs!
}
 
"""
Reprezentace templatu
"""
id: ID!
templateVersionId: ID!
name: String!
logoUrl: Url
durationInMinutes: Int!
durationInMinutesWithTimeBonus: Int!
requiredPercentage: Int!
availableLanguages: [Language!]!
isAccessible: Boolean!
requireDocuments: Boolean!
}
 
"""
Reprezentace nastaveni tenanta
"""
proctoringSecret: String
proctoringToken: String
termsOfUse: [Content!]!
conditionsPaper: [Content!]!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
message: String!
code: String!
}
 
"""
UpdateCataloguePayload
"""
result: Catalogue!
}
 
"""
Reprezentace institutu
"""
success: Boolean!
}
 
"""
Reprezentace institutu
"""
result: Exam!
}
 
"""
UpdateQuestionPayload
"""
result: Question!
}
 
"""
UpdateTemplatePayload
"""
result: Template!
}
 
"""
Reprezentace payloadu updateTenantSettings
"""
result: TenantSettings!
}
 
type UrlFile implements File {
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
}
 
"""
User
"""
id: ID!
isAccessible: Boolean!
name: String!
firstName: String!
lastName: String!
email: EmailAddress!
}
 
"""
Reprezentace file
"""
result: File!
}
 
"""
Reprezentace template block rule validace
"""
autoEvaluable: Boolean!
maxQuestionCount: Int!
}
 
"""
Reprezentace template validace
"""
languages: [Language!]!
autoEvaluable: Boolean!
}
 
type VideoFile implements File {
id: ID!
type: FileType!
name: String!
bucket: String!
url: Url!
size: Int!
width: Int!
height: Int!
duration: Int!
}
 
message: String!
code: String!
}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
"""
Input pro přidání Institute
"""
name: String = null @stringConstraint(minLength: 1)
hasRelease: Boolean = null
isArchived: Boolean = null
}
 
"""
Input pro setnuti CatalogueTopic
"""
id: ID = null @resource(type: CATALOGUE_TOPIC)
label: String! @stringConstraint(minLength: 1, maxLength: 255)
contents: [ContentSimpleInput!]!
topics: [CatalogueTopicInput!]!
}
 
"""
Input pro clone Catalogue
"""
catalogueId: ID! @resource(type: CATALOGUE)
name: String! @stringConstraint(minLength: 1, maxLength: 200)
description: String = null @stringConstraint(minLength: 1, maxLength: 60000)
}
 
"""
Input pro přidání comment
"""
questionId: ID @optional @resource(type: QUESTION)
commentThreadId: ID @optional @resource(type: COMMENT_THREAD)
}
 
"""
Input pro setnuti Content
"""
language: Language!
value: Json!
}
 
"""
Input pro setnuti Content bez jsonu
"""
language: Language!
value: String!
}
 
"""
Input pro vygenerovani assignment pdf
"""
termsOfUse: Boolean! = true
conditions: Boolean! = true
title: Boolean! = true
questions: Boolean! = true
answerSheet: Boolean! = true
}
 
"""
Input pro přidání Catalogue
"""
name: String! @stringConstraint(minLength: 1, maxLength: 200)
description: String = null @stringConstraint(minLength: 1)
languages: [Language!]! @listConstraint(unique: true)
questionProviderId: ID = null @resource(type: QUESTION_PROVIDER)
referenceFiles: [ID!]! = [] @listConstraint(unique: true) @resource(type: FILE)
expiresAt: DateTimeMs = null
}
 
"""
Input pro přidání choice Question
"""
options: [QuestionOptionInput!]! @listConstraint(minItems: 2)
optionOrder: EntityOrder!
}
 
"""
Input pro přidání comment
"""
content: String! @stringConstraint(minLength: 1, maxLength: 60000)
}
 
"""
Input pro přidání Institute
"""
examId: ID! @resource(type: EXAM)
candidateIds: [ID!]! @resource(type: CANDIDATE) @stringConstraint(minLength: 1, maxLength: 20) @listConstraint(minItems: 1)
}
 
"""
Input pro vygenerovani exam session pdf
"""
language: Language!
termsOfUse: Boolean! = true
conditions: Boolean! = true
title: Boolean! = true
questions: Boolean! = true
answerSheet: Boolean! = true
}
 
"""
CreateExamTypeInput
"""
}
 
"""
Input pro přidání matrix Question
"""
answerFields: [QuestionAnswerFieldInput!]! @listConstraint(minItems: 1)
evaluationMode: FreeFormEvaluationMode!
evaluationThreshold: Int = null @intConstraint(min: 0, max: 100)
}
 
"""
Input pro přidání matrix Question
"""
columns: [QuestionColumnInput!]! @listConstraint(minItems: 2)
rows: [QuestionRowInput!]! @listConstraint(minItems: 1)
columnOrder: EntityOrder!
rowOrder: EntityOrder!
evaluationMode: MatrixEvaluationMode!
}
 
"""
Input pro přidání multichoice Question
"""
options: [QuestionOptionInput!]! @listConstraint(minItems: 2)
optionOrder: EntityOrder!
evaluationMode: MultiChoiceEvaluationMode!
checkingMode: MultiChoiceCheckingMode!
}
 
"""
Input online exam
"""
firstStartTime: DateTimeMs!
lastStartTime: DateTimeMs!
maxPauseDurationMinutes: Int! @intConstraint(min: 0)
}
 
"""
Input paper exam
"""
dummyBool: Boolean! = true
}
 
"""
Input proctoring exam
"""
firstStartTime: DateTimeMs!
lastStartTime: DateTimeMs!
maxPauseDurationMinutes: Int! @intConstraint(min: 0)
secondaryCamera: Boolean!
}
 
"""
CreateQuestionInput
"""
languages: [Language!]! @listConstraint(minItems: 1, unique: true)
catalogueId: ID! @resource(type: CATALOGUE)
catalogueTopicId: ID! @resource(type: CATALOGUE_TOPIC)
contents: [ContentInput!]! @listConstraint(minItems: 1)
remarks: String = null
importId: String = null
evaluationPoints: Int! @intConstraint(min: 1)
attachments: [LanguageFileInput!]!
excludedQuestionVersions: [ID!]! @listConstraint(unique: true) @resource(type: QUESTION_VERSION)
}
 
"""
CreateQuestionTypeInput
"""
}
 
"""
Input tablet exam
"""
dummyBool: Boolean! = true
}
 
"""
Input pro přidání Institute
"""
name: String! @stringConstraint(minLength: 1, maxLength: 200)
reportName: String! @stringConstraint(minLength: 1, maxLength: 200)
internalName: String! @stringConstraint(minLength: 1, maxLength: 200)
breakDurationMinutes: Int! @intConstraint(min: 0)
requireDocuments: Boolean! = false
grading: GradingInput
gradingMode: GradingMode!
resultView: ResultView!
blockOrder: EntityOrder!
blocks: [TemplateBlockInput!]! @listConstraint(minItems: 1)
restrictions: [EquipmentRestrictionInput!]!
}
 
"""
Input pro přidání textual Question
"""
evaluationMode: TextualEvaluationMode!
expectedAnswer: String = null
matchingModes: [TextualMatchingMode!] = null @listConstraint(unique: true)
evaluationHint: String = null
evaluationHintFileId: ID = null @resource(type: FILE)
}
 
"""
Input pro přidání Institute
"""
isAllowed: Boolean!
values: [String!]! @stringConstraint(minLength: 1, maxLength: 200)
}
 
"""
EvaluationQuestionFreeFormAnswerFieldInput
"""
answerFieldId: ID! @resource(type: ASSIGNMENT_QUESTION_ANSWER_FIELD)
}
 
"""
EvaluationFreeFormQuestionInput
"""
}
 
"""
Input pro přidání Institute
"""
explanation: String = null @stringConstraint(minLength: 1, maxLength: 60000)
recommendation: String = null @stringConstraint(minLength: 1, maxLength: 60000)
}
 
"""
EvaluationTextualManualQuestionInput
"""
percentage: Int! @intConstraint(min: 0, max: 100)
}
 
"""
EvaluationQuestionTypeInput
"""
}
 
"""
Input pro přidání Institute
"""
name: String = null @stringConstraint(minLength: 1)
}
 
"""
Input pro přidání Institute
"""
templateVersionId: ID! @resource(type: TEMPLATE_VERSION)
memberBoardId: ID! @resource(type: MEMBER_BOARD)
examCenterId: ID = null @resource(type: EXAM_CENTER)
name: String! @stringConstraint(minLength: 1, maxLength: 200)
languages: [Language!]! @listConstraint(minItems: 1, unique: true)
withTimeBonus: Boolean! = false
typeInput: CreateExamTypeInput!
}
 
"""
Input pro edit zkousky
"""
name: String @stringConstraint(minLength: 1, maxLength: 200) @optional
typeInput: UpdateExamTypeInput!
}
 
"""
Filter ExamCanidate
"""
passed: Boolean = null
approved: Boolean = null
sessionState: [SessionStage!] = null @listConstraint(unique: true)
examId: ID = null @resource(type: EXAM)
templateId: ID = null @resource(type: TEMPLATE)
}
 
"""
Input pro přidání casu ke zkousce
"""
extendMinutes: Int! @intConstraint(min: 1)
}
 
"""
File generate url input
"""
bucket: Bucket!
}
 
"""
Input pro přidání Institute
"""
count: Int! @intConstraint(min: 1)
examType: String!
examTopics: [String!]!
}
 
"""
Input pro přidání Institute
"""
}
 
"""
Input pro přidání Institute
"""
passingRequirement: Int! @intConstraint(min: 0, max: 100)
roundingMode: RoundingMode!
labels: [GradingLabelInput!]!
}
 
"""
Input pro přidání Institute
"""
name: String! @stringConstraint(minLength: 1, maxLength: 200)
requirement: Int! @intConstraint(min: 0, max: 100)
}
 
"""
LanguageFileInput
"""
language: Language!
fileId: ID! @resource(type: FILE)
}
 
minItems: Int = null @intConstraint(min: 0)
maxItems: Int = null @intConstraint(min: 0)
unique: Boolean! = false
innerList: ListConstraintInput = null
}
 
"""
Input pro move Question
"""
index: Int! @intConstraint(min: 1)
}
 
count: Int! @intConstraint(min: 1)
from: [String!]! @listConstraint(minItems: 1)
}
 
"""
QuestionAnswerFieldChoiceInput
"""
id: String!
language: Language!
metadata: Json = null
options: [QuestionAnswerFieldOptionInput!]! @listConstraint(minItems: 2)
optionOrder: EntityOrder!
evaluationWeight: Int! = 1 @intConstraint(min: 1, max: 10)
}
 
"""
QuestionAnswerFieldInput
"""
}
 
"""
QuestionOptionInput
"""
content: String!
correct: Boolean!
}
 
"""
QuestionAnswerFieldTextualInput
"""
id: String!
language: Language!
metadata: Json = null
evaluationWeight: Int! = 1 @intConstraint(min: 1, max: 10)
evaluationMode: TextualEvaluationMode!
expectedAnswer: String = null
matchingModes: [TextualMatchingMode!] = null
evaluationHint: String = null
evaluationHintFileId: ID = null @resource(type: FILE)
}
 
"""
CreateColumnQuestionOptionInput
"""
contents: [ContentInput!]! @listConstraint(minItems: 1)
}
 
"""
Input pro přidání Institute
"""
search: String = null
type: QuestionType = null
evaluationMode: String = null
catalogueId: ID = null @resource(type: CATALOGUE)
catalogueTopicId: ID = null @resource(type: CATALOGUE_TOPIC)
evaluationPoints: Int = null
language: Language = null
}
 
"""
QuestionOptionInput
"""
contents: [ContentInput!]! @listConstraint(minItems: 1)
correct: Boolean!
}
 
"""
Input pro přidání Institute
"""
type: QuestionProviderType = null
}
 
"""
Input pro přidání Institute
"""
}
 
"""
CreateMatrixQuestionRowInput
"""
contents: [ContentInput!]! @listConstraint(minItems: 1)
correctColumnIndex: Int!
}
 
"""
Filter QuestionVersionFeedbacks
"""
questionVersionId: ID = null @resource(type: QUESTION_VERSION)
tenantId: String = null
examSessionId: String = null
}
 
"""
Input pro přidání Catalogue
"""
identifier: String! @stringConstraint(minLength: 1)
languages: [Language!] = null @listConstraint(minItems: 1, unique: true)
}
 
"""
File rename input
"""
name: String! @stringConstraint(minLength: 1, maxLength: 255)
}
 
"""
Input pro přidání Catalogue
"""
languages: [Language!]! @listConstraint(unique: true)
}
 
"""
Input pro setnuti CatalogueTopic
"""
topics: [CatalogueTopicInput!]!
}
 
"""
Input pro přidání Institute
"""
questionOrder: EntityOrder!
rules: [TemplateBlockGroupRuleInput!]! @listConstraint(minItems: 1)
}
 
"""
Input pro přidání Institute
"""
catalogueReleaseId: ID! @resource(type: CATALOGUE_RELEASE)
catalogueReleaseTopicIds: [ID!] = null @resource(type: CATALOGUE_RELEASE_TOPIC) @listConstraint(minItems: 1, unique: true)
types: [QuestionType!] = null @listConstraint(minItems: 1, unique: true)
count: Int! @intConstraint(min: 1)
evaluationPoints: Int = null @intConstraint(min: 1)
}
 
"""
Input pro přidání Institute
"""
name: String! @stringConstraint(minLength: 1, maxLength: 200)
contents: [ContentInput!]! @listConstraint(minItems: 1)
durationMinutes: Int! @intConstraint(min: 1)
timeBonusMinutes: Int! = 15 @intConstraint(min: 0)
calculatorAllowed: Boolean!
notepadAllowed: Boolean!
displayTopicLabel: Boolean!
grading: GradingInput!
executionSequence: ExecutionSequence!
resultView: BlockResultView!
groupOrder: EntityOrder!
groups: [TemplateBlockGroupInput!]! @listConstraint(minItems: 1)
}
 
"""
Input pro přidání Institute
"""
name: String = null @stringConstraint(minLength: 1)
catalogueId: ID = null @resource(type: CATALOGUE)
}
 
"""
Input pro TenantSettings
"""
proctoringSecret: String @optional @stringConstraint(minLength: 4, maxLength: 200)
proctoringToken: String @optional @stringConstraint(minLength: 4, maxLength: 200)
termsOfUse: [ContentInput!] @optional
conditionsPaper: [ContentInput!] @optional
}
 
"""
Input pro update Catalogue
"""
name: String @optional @stringConstraint(minLength: 1, maxLength: 200)
description: String @stringConstraint(minLength: 1, maxLength: 60000)
languages: [Language!] @optional @listConstraint(unique: true)
referenceFiles: [ID!] @optional @listConstraint(unique: true) @resource(type: FILE)
expiresAt: DateTimeMs
}
 
"""
UpdateChoiceQuestionInput
"""
options: [QuestionOptionInput!] @optional @listConstraint(minItems: 2)
optionOrder: EntityOrder @optional
}
 
"""
UpdateExamTypeInput
"""
}
 
"""
UpdateChoiceQuestionInput
"""
answerFields: [QuestionAnswerFieldInput!] @optional @listConstraint(minItems: 1)
evaluationThreshold: Int @intConstraint(min: 0, max: 100)
}
 
"""
UpdateMatrixQuestionInput
"""
columns: [QuestionColumnInput!] @optional @listConstraint(minItems: 2)
rows: [QuestionRowInput!] @optional @listConstraint(minItems: 1)
columnOrder: EntityOrder @optional
}
 
"""
UpdateMultiChoiceQuestionInput
"""
}
 
"""
Input update online exam
"""
firstStartTime: DateTimeMs @optional
lastStartTime: DateTimeMs @optional
maxPauseDurationMinutes: Int @intConstraint(min: 0) @optional
}
 
"""
Input update paper exam
"""
dummyBool: Boolean! = true
}
 
"""
Input update proctoring exam
"""
firstStartTime: DateTimeMs @optional
lastStartTime: DateTimeMs @optional
maxPauseDurationMinutes: Int @optional @intConstraint(min: 0)
secondaryCamera: Boolean @optional
}
 
"""
Input pro update Question
"""
languages: [Language!]! @listConstraint(minItems: 1, unique: true)
catalogueTopicId: ID @optional @resource(type: CATALOGUE_TOPIC)
contents: [ContentInput!] @optional @listConstraint(minItems: 1)
remarks: String
importId: String
evaluationPoints: Int @optional @intConstraint(min: 1)
attachments: [LanguageFileInput!] @optional
excludedQuestionVersions: [ID!] @optional @listConstraint(unique: true) @resource(type: QUESTION_VERSION)
}
 
"""
UpdateQuestionTypeInput
"""
}
 
"""
Input update tablet exam
"""
dummyBool: Boolean! = true
}
 
"""
Input pro přidání Institute
"""
name: String @optional @stringConstraint(minLength: 1, maxLength: 200)
reportName: String @optional @stringConstraint(minLength: 1, maxLength: 200)
internalName: String @optional @stringConstraint(minLength: 1, maxLength: 200)
breakDurationMinutes: Int @optional @intConstraint(min: 0)
requireDocuments: Boolean @optional
grading: GradingInput
gradingMode: GradingMode @optional
resultView: ResultView @optional
blockOrder: EntityOrder @optional
blocks: [TemplateBlockInput!] @optional @listConstraint(minItems: 1)
}
 
"""
UpdateTextualQuestionInput
"""
expectedAnswer: String
matchingModes: [TextualMatchingMode!] @listConstraint(unique: true)
evaluationHint: String
evaluationHintFileId: ID @resource(type: FILE)
}
 
"""
File upload validation input
"""
fileUrl: Url!
name: String! @stringConstraint(minLength: 1, maxLength: 200)
}
 
"""
DateTimeMs type - string which contains valid date in ISO8601 format.
"""
scalar DateTimeMs @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3339#section-5.6")
 
"""
EmailAddress type - string which contains valid email address.
"""
scalar EmailAddress @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc5322#section-3.4.1")
 
"""
Json type - string which contains valid JSON.
"""
scalar Json @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc7159")
 
"""
Upload type - represents file which was send to server.
By GraphQL viewpoint it is scalar type, but it must be used as input only.;
"""
scalar Upload @specifiedBy(url: "https://github.com/jaydenseric/graphql-multipart-request-spec")
 
"""
Url type - string which contains valid URL (Uniform Resource Locator).
"""
scalar Url @specifiedBy(url: "https://datatracker.ietf.org/doc/html/rfc3986")
 
"""
Režim zobrazení výsledků bloku
"""
NONE
}
 
"""
Aws buckets supported by this application
"""
catalogue
}
 
"""
Režim zobrazení výsledků bloku
"""
CATALOGUE_IS_EMPTY
TOPIC_NOT_TRANSLATED
QUESTION_NOT_TRANSLATED
WRONG_LANGUAGE
}
 
"""
Možnosti řazení katalogu
"""
CREATED
NAME
UPDATED
}
 
"""
Stav katalogu
"""
READY
PENDING
}
 
"""
Pořadí entit v setu
"""
DEFINED
RANDOM
}
 
"""
Typ vybavení
"""
CALCULATOR
PEN_PAPER
EXTERNAL_APPS
WEBSITES
TEXTBOOKS
ADDITIONAL
}
 
"""
Možnosti řazení examSession
"""
CREATED
}
 
"""
Možnosti řazení zkoušek
"""
CREATED
NAME
}
 
"""
Stav zkoušky
"""
UPCOMING
RUNNING
CLOSING
COMPLETED
}
 
"""
Typ zkoušky
"""
ONLINE
PROCTORING
PAPER
TABLET
}
 
"""
Režim postupu zkouškou
"""
SEQUENTIAL
ALLOW_JUMPS
}
 
"""
Type of file
"""
IMAGE
AUDIO
VIDEO
PDF
URL
DOCUMENT
}
 
"""
Režim zobrazení výsledků bloku
"""
ALL_OR_NOTHING
PARTIAL_CORRECT_ONLY
}
 
"""
Režim počítání celkového výsledku
"""
FROM_QUESTIONS
PER_BLOCK
}
 
"""
Supported languages
"""
EN
DE
ES
FR
IT
PL
}
 
"""
Režim zobrazení výsledků bloku
"""
ALL_OR_NOTHING
PARTIAL_WITHOUT_DEDUCTION
PARTIAL_WITH_DEDUCTION
}
 
"""
Modules supported by this application
"""
CATALOGUE
EVALUATION
}
 
"""
Additional checking rules for multi-choice questions
"""
"No extra rules for checking"
NO_RESTRICTION
 
"Candidate is limited in how many options can be selected by the number of correct options"
DYNAMIC_LIMIT
 
"Candidate is not limited, but gets 0 if more options than number of correct options is selected"
ZERO_FOR_OVERSHOOTING
}
 
"""
Režim zobrazení výsledků bloku
"""
ALL_OR_NOTHING
PARTIAL_WITHOUT_DEDUCTION
PARTIAL_WITH_DEDUCTION
}
 
"""
Permissions supported by this application
"""
CATALOGUE_CREATE
CATALOGUE_UPDATE
CATALOGUE_DELETE
CATALOGUE_SET_TOPICS
CATALOGUE_RELEASE
CATALOGUE_GENERATE_QUESTIONS
CATALOGUE_ARCHIVE
CATALOGUE_CLONE
QUESTION_CREATE
QUESTION_UPDATE
QUESTION_DELETE
QUESTION_SET_STATUS
COMMENT_CREATE
COMMENT_RESOLVE
TEMPLATE_CREATE
TEMPLATE_UPDATE
TEMPLATE_DELETE
TEMPLATE_CREATE_EXAMPLE_ASSIGNMENT
FILE_UPLOAD
FILE_RENAME
EXAM_CREATE
EXAM_PRINT
EXAM_UPDATE
EXAM_DELETE
EXAM_SESSION_CREATE
EXAM_SESSION_DELETE
DOWNLOAD_EXAM_SESSION
EVALUATION_APPROVE
EVALUATION_UPDATE
PAUSE_RESUME_EXAM_SESSION
EXTEND_EXAM_SESSION
}
 
"""
Typ otázky
"""
TEXTUAL
CHOICE
}
 
"""
Možnosti řazení poskytovatele otázek
"""
CREATED
}
 
"""
Poskytovatel otázek
"""
AI_EXAM
TEST
}
 
"""
Možnosti řazení otázek
"""
CREATED
UPDATED
CATALOGUE_INDEX
CATALOGUE_TOPIC_LABEL
}
 
"""
Typ otázky
"""
TEXTUAL
CHOICE
MULTI_CHOICE
MATRIX
FREE_FORM
}
 
"""
Možnosti řazení QuestionVersionFeedbacks
"""
CREATED
}
 
"""
Typ entity
"""
CATALOGUE
CATALOGUE_TOPIC
CATALOGUE_RELEASE
CATALOGUE_RELEASE_TOPIC
QUESTION
QUESTION_VERSION
QUESTION_OPTION
QUESTION_PROVIDER
TEMPLATE
TEMPLATE_VERSION
TEMPLATE_BLOCK
TEMPLATE_BLOCK_GROUP
TEMPLATE_BLOCK_GROUP_RULE
EXAM
EXAM_SESSION
ASSIGNMENT
ASSIGNMENT_BLOCK
ASSIGNMENT_QUESTION
ASSIGNMENT_QUESTION_OPTION
ASSIGNMENT_QUESTION_COLUMN
ASSIGNMENT_QUESTION_ROW
ASSIGNMENT_QUESTION_ANSWER_FIELD
ASSIGNMENT_QUESTION_ANSWER_FIELD_OPTION
SUBMISSION
SUBMISSION_BLOCK
SUBMISSION_QUESTION
EVALUATION
EVALUATION_BLOCK
EVALUATION_QUESTION
COMMENT
COMMENT_THREAD
CANDIDATE
USER
IDENTITY
MEMBER_BOARD
EXAM_CENTER
FILE
}
 
"""
Režim zobrazení výsledků zkoušky
"""
PERCENTAGE
NONE
}
 
"""
Režim zaokrouhlení
"""
ALWAYS_DOWN
ALWAYS_UP
MATHEMATICAL
}
 
"""
Stav kandidáta
"""
INTRO
RUNNING
PAUSED
BREAK
SUBMITTED
}
 
"""
Stav kandidáta
"""
NONE
UPCOMING
RUNNING
SUBMITTED
EVALUATED
TERMS_DECLINED
}
 
"""
Sorting direction
"""
ASC
DESC
}
 
"""
Možnosti řazení odpovědí na otázky
"""
INDEX
CREATED
}
 
"""
Možnosti řazení šablon
"""
CREATED
}
 
"""
Režim zobrazení výsledků bloku
"""
EXACT_MATCH
PROVIDER
MANUAL
}
 
"""
Režim vyohdnoceni výsledků textove otazky
"""
"Ignore difference in letter case"
IGNORE_CASE
 
"Ignore difference in letter alphabet"
IGNORE_ACCENTS
 
"Ignore whitespace and non letter/digit characters"
IGNORE_SPECIAL_CHARS
}
 
"""
Only system admin can perform this action.
"""
directive @admin on FIELD_DEFINITION
 
"""
Only user with given permission can perform this action.
"""
module: Module!
permission: Permission
) on FIELD_DEFINITION
 
"""
Only user with given permission can perform this action.
"""
module: Module!
permission: Permission
) repeatable on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
"""
Graphpinator floatConstraint directive.
"""
min: Float
max: Float
oneOf: [Float!] @listConstraint(minItems: 1)
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION
 
"""
Graphpinator intConstraint directive.
"""
min: Int
max: Int
oneOf: [Int!] @listConstraint(minItems: 1)
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION
 
"""
Graphpinator listConstraint directive.
"""
minItems: Int = null @intConstraint(min: 0)
maxItems: Int = null @intConstraint(min: 0)
unique: Boolean! = false
innerList: ListConstraintInput = null
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION
 
"""
Only logged in user can perform this action.
"""
directive @loggedIn on FIELD_DEFINITION
 
"""
Graphpinator objectConstraint directive.
"""
atLeastOne: [String!] @listConstraint(minItems: 1)
atMostOne: [String!] @listConstraint(minItems: 1)
exactlyOne: [String!] @listConstraint(minItems: 1)
) repeatable on OBJECT | INTERFACE | INPUT_OBJECT
 
"""
Input value for this argument can be either omitted or have non-null value.
"""
directive @optional on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
type: ResourceType!
) on ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION
 
"""
Only root user can perform this action.
"""
directive @root on FIELD_DEFINITION
 
"""
Graphpinator stringConstraint directive.
"""
minLength: Int @intConstraint(min: 0)
maxLength: Int @intConstraint(min: 0)
regex: String
oneOf: [String!] @listConstraint(minItems: 1)
) on FIELD_DEFINITION | ARGUMENT_DEFINITION | INPUT_FIELD_DEFINITION | VARIABLE_DEFINITION