Skip to content

Commit 4b37d51

Browse files
committed
documented the typical values of URLs returned from the API
1 parent 459be3b commit 4b37d51

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

tmc-client/src/response.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,13 @@ pub struct Course {
6363
pub name: String,
6464
pub title: String,
6565
pub description: Option<String>,
66+
/// /api/v8/core/courses/{course_id}
6667
pub details_url: String,
68+
/// /api/v8/core/courses/{course_id}/unlock
6769
pub unlock_url: String,
70+
/// /api/v8/core/courses/{course_id}/reviews
6871
pub reviews_url: String,
72+
/// Typically empty.
6973
pub comet_url: String,
7074
pub spyware_urls: Vec<String>,
7175
}
@@ -90,9 +94,11 @@ pub struct CourseData {
9094
pub organization_id: Option<u32>,
9195
pub disabled_status: Option<String>,
9296
pub title: Option<String>,
97+
/// Typically empty.
9398
pub material_url: Option<String>,
9499
pub course_template_id: Option<u32>,
95100
pub hide_submission_results: bool,
101+
/// Typically empty.
96102
pub external_scoreboard_url: Option<String>,
97103
pub organization_slug: Option<String>,
98104
}
@@ -143,7 +149,9 @@ pub struct Exercise {
143149
pub soft_deadline: Option<String>,
144150
pub soft_deadline_description: Option<String>,
145151
pub checksum: String,
152+
/// /api/v8/core/exercises/{exercise_id}/submissions
146153
pub return_url: String,
154+
/// /api/v8/core/exercises/{exercise_id}/download
147155
pub zip_url: String,
148156
pub returnable: bool,
149157
pub requires_review: bool,
@@ -156,8 +164,10 @@ pub struct Exercise {
156164
pub valgrind_strategy: String,
157165
pub code_review_requests_enabled: bool,
158166
pub run_tests_locally_action_enabled: bool,
167+
/// Typically null.
159168
pub latest_submission_url: Option<String>,
160169
pub latest_submission_id: Option<u32>,
170+
/// /api/v8/core/exercises/{exercise_id}/solution/download
161171
pub solution_zip_url: Option<String>,
162172
}
163173

@@ -292,7 +302,9 @@ pub struct ExerciseSubmission {
292302
pub created_at: DateTime<FixedOffset>,
293303
pub all_tests_passed: bool,
294304
pub points: Option<String>,
305+
/// /api/v8/core/submissions/{submission_id}/download
295306
pub submitted_zip_url: String,
307+
/// https://tmc.mooc.fi/paste/{paste_code}
296308
pub paste_url: Option<String>,
297309
pub processing_time: Option<u32>,
298310
pub reviewed: bool,
@@ -302,8 +314,11 @@ pub struct ExerciseSubmission {
302314
/// post /api/v8/core/exercises/{exercise_id}/submissions
303315
#[derive(Debug, Deserialize, Serialize, JsonSchema, Clone)]
304316
pub struct NewSubmission {
317+
/// https://tmc.mooc.fi/api/v8/core/submissions/{submission_id}
305318
pub show_submission_url: String,
319+
/// https://tmc.mooc.fi/paste/{paste_code}
306320
pub paste_url: String, // use Option and serde_with::string_empty_as_none ?
321+
/// https://tmc.mooc.fi/submissions/{submission_id}
307322
pub submission_url: String,
308323
}
309324

@@ -340,17 +355,21 @@ pub struct SubmissionFinished {
340355
pub status: SubmissionStatus,
341356
pub points: Vec<String>,
342357
pub valgrind: Option<String>,
358+
/// https://tmc.mooc.fi/submissions/{submission_id}}
343359
pub submission_url: String,
360+
/// https://tmc.mooc.fi/exercises/{exercise_id}/solution
344361
pub solution_url: Option<String>,
345362
pub submitted_at: String,
346363
pub processing_time: Option<u32>,
347364
pub reviewed: bool,
348365
pub requests_review: bool,
366+
/// https://tmc.mooc.fi/paste/{paste_code}
349367
pub paste_url: Option<String>,
350368
pub message_for_paste: Option<String>,
351369
pub missing_review_points: Vec<String>,
352370
pub test_cases: Option<Vec<TestCase>>,
353371
pub feedback_questions: Option<Vec<SubmissionFeedbackQuestion>>,
372+
/// /api/v8/core/submissions/{submission_id}/feedback
354373
pub feedback_answer_url: Option<String>,
355374
pub error: Option<String>,
356375
pub validations: Option<StyleValidationResult>,
@@ -470,7 +489,9 @@ pub struct Review {
470489
pub review_body: String,
471490
pub points: Vec<String>,
472491
pub points_not_awarded: Vec<String>,
492+
/// https://tmc.mooc.fi/submissions/{submission_id}/reviews
473493
pub url: String,
494+
/// /api/v8/core/courses/{course_id}/reviews/{review_id}
474495
pub update_url: String,
475496
pub created_at: DateTime<FixedOffset>,
476497
pub updated_at: DateTime<FixedOffset>,

0 commit comments

Comments
 (0)