@@ -20,7 +20,7 @@ export interface StatusUpdate<T> { finished: boolean, message: string, "percent-
2020
2121export type NotificationKind = "warning" | "info" ;
2222
23- export type DataKind = { "output-data-kind" : "error" , "output-data" : { kind : Kind , trace : Array < string > , } } | { "output-data-kind" : "validation" , "output-data" : StyleValidationResult } | { "output-data-kind" : "available-points" , "output-data" : Array < string > } | { "output-data-kind" : "exercises" , "output-data" : Array < string > } | { "output-data-kind" : "exercise-packaging-configuration" , "output-data" : ExercisePackagingConfiguration } | { "output-data-kind" : "local-exercises" , "output-data" : Array < LocalExercise > } | { "output-data-kind" : "refresh-result" , "output-data" : RefreshData } | { "output-data-kind" : "test-result" , "output-data" : RunResult } | { "output-data-kind" : "exercise-desc" , "output-data" : ExerciseDesc } | { "output-data-kind" : "updated-exercises" , "output-data" : Array < UpdatedExercise > } | { "output-data-kind" : "exercise-download" , "output-data" : DownloadOrUpdateCourseExercisesResult } | { "output-data-kind" : "combined-course-data" , "output-data" : CombinedCourseData } | { "output-data-kind" : "course-details" , "output-data" : CourseDetails } | { "output-data-kind" : "course-exercises" , "output-data" : Array < CourseExercise > } | { "output-data-kind" : "course-data" , "output-data" : CourseData } | { "output-data-kind" : "courses" , "output-data" : Array < Course > } | { "output-data-kind" : "exercise-details" , "output-data" : ExerciseDetails } | { "output-data-kind" : "submissions" , "output-data" : Array < Submission > } | { "output-data-kind" : "update-result" , "output-data" : UpdateResult } | { "output-data-kind" : "organization" , "output-data" : Organization } | { "output-data-kind" : "organizations" , "output-data" : Array < Organization > } | { "output-data-kind" : "reviews" , "output-data" : Array < Review > } | { "output-data-kind" : "token" , "output-data" : unknown } | { "output-data-kind" : "new-submission" , "output-data" : NewSubmission } | { "output-data-kind" : "submission-feedback-response" , "output-data" : SubmissionFeedbackResponse } | { "output-data-kind" : "submission-finished" , "output-data" : SubmissionFinished } | { "output-data-kind" : "config-value" , "output-data" : ConfigValue } | { "output-data-kind" : "tmc-config" , "output-data" : TmcConfig } | { "output-data-kind" : "compressed-project-hash" , "output-data" : string } | { "output-data-kind" : "submission-sandbox" , "output-data" : string } ;
23+ export type DataKind = { "output-data-kind" : "error" , "output-data" : { kind : Kind , trace : Array < string > , } } | { "output-data-kind" : "validation" , "output-data" : StyleValidationResult } | { "output-data-kind" : "available-points" , "output-data" : Array < string > } | { "output-data-kind" : "exercises" , "output-data" : Array < string > } | { "output-data-kind" : "exercise-packaging-configuration" , "output-data" : ExercisePackagingConfiguration } | { "output-data-kind" : "local-exercises" , "output-data" : Array < LocalExercise > } | { "output-data-kind" : "refresh-result" , "output-data" : RefreshData } | { "output-data-kind" : "test-result" , "output-data" : RunResult } | { "output-data-kind" : "exercise-desc" , "output-data" : ExerciseDesc } | { "output-data-kind" : "updated-exercises" , "output-data" : Array < UpdatedExercise > } | { "output-data-kind" : "exercise-download" , "output-data" : DownloadOrUpdateCourseExercisesResult } | { "output-data-kind" : "combined-course-data" , "output-data" : CombinedCourseData } | { "output-data-kind" : "course-details" , "output-data" : CourseDetails } | { "output-data-kind" : "course-exercises" , "output-data" : Array < CourseExercise > } | { "output-data-kind" : "course-data" , "output-data" : CourseData } | { "output-data-kind" : "courses" , "output-data" : Array < Course > } | { "output-data-kind" : "exercise-details" , "output-data" : ExerciseDetails } | { "output-data-kind" : "submissions" , "output-data" : Array < Submission > } | { "output-data-kind" : "update-result" , "output-data" : UpdateResult } | { "output-data-kind" : "organization" , "output-data" : Organization } | { "output-data-kind" : "organizations" , "output-data" : Array < Organization > } | { "output-data-kind" : "reviews" , "output-data" : Array < Review > } | { "output-data-kind" : "token" , "output-data" : unknown } | { "output-data-kind" : "new-submission" , "output-data" : NewSubmission } | { "output-data-kind" : "submission-feedback-response" , "output-data" : SubmissionFeedbackResponse } | { "output-data-kind" : "submission-finished" , "output-data" : SubmissionFinished } | { "output-data-kind" : "config-value" , "output-data" : ConfigValue } | { "output-data-kind" : "tmc-config" , "output-data" : TmcConfig } | { "output-data-kind" : "compressed-project-hash" , "output-data" : string } | { "output-data-kind" : "submission-sandbox" , "output-data" : string } | { "output-data-kind" : "mooc-course-instances" , "output-data" : Array < CourseInstance > } | { "output-data-kind" : "mooc-exercise-slides" , "output-data" : Array < TmcExerciseSlide > } | { "output-data-kind" : "mooc-exercise-slide" , "output-data" : TmcExerciseSlide } | { "output-data-kind" : "mooc-submission-finished" , "output-data" : ExerciseTaskSubmissionResult } ;
2424
2525export interface NewSubmission { show_submission_url : string , paste_url : string , submission_url : string , }
2626
@@ -102,3 +102,17 @@ export interface TestCase { name: string, successful: boolean, message: string |
102102
103103export type SubmissionFeedbackKind = "Text" | { "IntRange" : { lower : number , upper : number , } } ;
104104
105+ export interface CourseInstance { id : string , course_id : string , course_slug : string , course_name : string , course_description : string | null , instance_name : string | null , instance_description : string | null , }
106+
107+ export interface TmcExerciseSlide { slide_id : string , exercise_id : string , exercise_name : string , exercise_order_number : number , deadline : Date | null , tasks : Array < TmcExerciseTask > , }
108+
109+ export interface TmcExerciseTask { task_id : string , order_number : number , assignment : unknown , public_spec : PublicSpec | null , model_solution_spec : ModelSolutionSpec | null , }
110+
111+ export type PublicSpec = { "type" : "browser" , files : Array < ExerciseFile > , } | { "type" : "editor" , archiveName : string , archiveDownloadUrl : string , checksum : string , } ;
112+
113+ export type ModelSolutionSpec = { "type" : "browser" , solutionFiles : Array < ExerciseFile > , } | { "type" : "editor" , archiveDownloadUrl : string , } ;
114+
115+ export interface ExerciseFile { filepath : string , contents : string , }
116+
117+ export interface ExerciseTaskSubmissionResult { submission_id : string , }
118+
0 commit comments