Skip to content

Commit f2dab1c

Browse files
committed
Merge branch 'mooc'
2 parents e97edcd + 435929d commit f2dab1c

File tree

59 files changed

+1001
-371
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+1001
-371
lines changed

.cargo/config.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#[build]
2+
#target = "x86_64-pc-windows-gnu"
3+
14
[target.armv7-unknown-linux-gnueabihf]
25
linker = "arm-linux-gnueabihf-gcc"
36

Cargo.lock

Lines changed: 42 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,5 +44,5 @@ ts-rs = { git = "https://github.com/Heliozoa/ts-rs.git", rev = "16362e1936b328f9
4444
# [patch.'https://github.com/Heliozoa/ts-rs.git']
4545
# ts-rs = { path = "../ts-rs/ts-rs" }
4646

47-
# [patch.'https://github.com/rage/secret-project-331.git']
48-
# mooc-langs-api = { path = "../secret-project-331/services/headless-lms/langs-api" }
47+
[patch.'https://github.com/rage/secret-project-331.git']
48+
mooc-langs-api = { path = "../secret-project-331/services/headless-lms/langs-api" }

crates/bindings/tmc-langs-node/src/bin/generate-node-bindings.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fn main() {
1515
// getExercisePackagingConfiguration
1616
tmc_langs::ExercisePackagingConfiguration,
1717
// listLocalCourseExercises
18-
tmc_langs::LocalExercise,
18+
tmc_langs::LocalTmcExercise,
1919
// prepareSubmission
2020
tmc_langs::Compression,
2121
// refreshCourse
@@ -33,8 +33,8 @@ fn main() {
3333
// checkExerciseUpdates
3434
tmc_langs::UpdatedExercise,
3535
// downloadOrUpdateCourseExercises
36-
tmc_langs::DownloadOrUpdateCourseExercisesResult,
37-
tmc_langs::ExerciseDownload,
36+
tmc_langs::DownloadOrUpdateTmcCourseExercisesResult,
37+
tmc_langs::TmcExerciseDownload,
3838
// getCourseData
3939
tmc_langs::CombinedCourseData,
4040

crates/bindings/tmc-langs-node/src/lib.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ use std::{
1616
};
1717
use thiserror::Error;
1818
use tmc_langs::{
19-
Compression, Credentials, DownloadOrUpdateCourseExercisesResult, LangsError, Language,
19+
Compression, Credentials, DownloadOrUpdateTmcCourseExercisesResult, LangsError, Language,
2020
PrepareSubmission, TmcConfig, file_util,
2121
tmc::{
2222
TestMyCodeClient, TestMyCodeClientError,
@@ -168,7 +168,7 @@ fn get_exercise_packaging_configuration(mut cx: FunctionContext) -> JsResult<JsV
168168
fn list_local_course_exercises(mut cx: FunctionContext) -> JsResult<JsValue> {
169169
parse_args!(cx, client_name: String, course_slug: String);
170170

171-
let res = tmc_langs::list_local_course_exercises(&client_name, &course_slug);
171+
let res = tmc_langs::list_local_tmc_course_exercises(&client_name, &course_slug);
172172
convert_res(&mut cx, res)
173173
}
174174

@@ -352,7 +352,7 @@ fn download_or_update_course_exercises(mut cx: FunctionContext) -> JsResult<JsVa
352352
tmc_langs::DownloadResult::Success {
353353
downloaded,
354354
skipped,
355-
} => DownloadOrUpdateCourseExercisesResult {
355+
} => DownloadOrUpdateTmcCourseExercisesResult {
356356
downloaded,
357357
skipped,
358358
failed: None,
@@ -361,7 +361,7 @@ fn download_or_update_course_exercises(mut cx: FunctionContext) -> JsResult<JsVa
361361
downloaded,
362362
skipped,
363363
failed,
364-
} => DownloadOrUpdateCourseExercisesResult {
364+
} => DownloadOrUpdateTmcCourseExercisesResult {
365365
downloaded,
366366
skipped,
367367
failed: Some(failed),
@@ -746,7 +746,7 @@ fn update_exercises(mut cx: FunctionContext) -> JsResult<JsValue> {
746746
let projects_dir =
747747
tmc_langs::get_projects_dir(&client_name).map_err(|e| convert_err(&mut cx, e))?;
748748
let res = with_client(client_name, client_version, |client| {
749-
tmc_langs::update_exercises(client, &projects_dir)
749+
tmc_langs::update_tmc_exercises(client, &projects_dir)
750750
});
751751
convert_res(&mut cx, res)
752752
}

crates/bindings/tmc-langs-node/ts/generated.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ student_file_paths: Array<string>,
1414
*/
1515
exercise_file_paths: Array<string>, }
1616

17-
export type LocalExercise = { "exercise-slug": string, "exercise-path": string, }
17+
export type LocalTmcExercise = { "exercise-slug": string, "exercise-path": string, }
1818

1919
export type Compression = "tar" | "zip" | "zstd";
2020

crates/tmc-langs-cli/bindings.d.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export type Locale = string;
22

33
export type CliOutput = { "output-kind": "output-data" } & OutputData | { "output-kind": "status-update" } & StatusUpdateData | { "output-kind": "notification" } & Notification;
44

5-
export type DataKind = { "output-data-kind": "error", "output-data": { kind: Kind, trace: Array<string>, } } | { "output-data-kind": "validation", "output-data": StyleValidationResult | null } | { "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 };
5+
export type DataKind = { "output-data-kind": "error", "output-data": { kind: Kind, trace: Array<string>, } } | { "output-data-kind": "validation", "output-data": StyleValidationResult | null } | { "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-tmc-exercises", "output-data": Array<LocalTmcExercise> } | { "output-data-kind": "local-mooc-exercises", "output-data": Array<LocalMoocExercise> } | { "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 };
66

77
export type Kind = "generic" | "forbidden" | "not-logged-in" | "connection-error" | "obsolete-client" | "invalid-token" | { "failed-exercise-download": { completed: Array<ExerciseDownload>, skipped: Array<ExerciseDownload>, failed: Array<[ExerciseDownload, Array<string>]>, } };
88

@@ -38,7 +38,11 @@ student_file_paths: Array<string>,
3838
*/
3939
exercise_file_paths: Array<string>, }
4040

41-
export type LocalExercise = { "exercise-slug": string, "exercise-path": string, }
41+
export type LocalExercise = { "tmc": LocalTmcExercise } | { "mooc": LocalMoocExercise };
42+
43+
export type LocalTmcExercise = { "exercise-slug": string, "exercise-path": string, }
44+
45+
export type LocalMoocExercise = { "exercise-id": string, "exercise-path": string, }
4246

4347
export type Compression = "tar" | "zip" | "zstd";
4448

@@ -290,9 +294,9 @@ export type TmcExerciseSlide = { slide_id: string, exercise_id: string, exercise
290294

291295
export type TmcExerciseTask = { task_id: string, order_number: number, assignment: unknown, public_spec: PublicSpec | null, model_solution_spec: ModelSolutionSpec | null, }
292296

293-
export type PublicSpec = { "type": "browser", files: Array<ExerciseFile>, } | { "type": "editor", archiveName: string, archiveDownloadUrl: string, checksum: string, };
297+
export type PublicSpec = { "type": "Browser", files: Array<ExerciseFile>, } | { "type": "Editor", archive_name: string, archive_download_url: string, checksum: string, };
294298

295-
export type ModelSolutionSpec = { "type": "browser", solutionFiles: Array<ExerciseFile>, } | { "type": "editor", archiveDownloadUrl: string, };
299+
export type ModelSolutionSpec = { "type": "Browser", solution_files: Array<ExerciseFile>, } | { "type": "Editor", download_url: string, };
296300

297301
export type ExerciseFile = { filepath: string, contents: string, }
298302

0 commit comments

Comments
 (0)