diff options
Diffstat (limited to 'src/routes/submission.rs')
| -rw-r--r-- | src/routes/submission.rs | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/routes/submission.rs b/src/routes/submission.rs index 4cfad5c..b3cf2b9 100644 --- a/src/routes/submission.rs +++ b/src/routes/submission.rs @@ -48,3 +48,14 @@ pub async fn get_display_submissions( Ok(Json(submissions)) } +pub async fn get_display_submission( + State(state): State<AppState>, + Path(submission_id): Path<i64> +) -> Result<impl IntoResponse, RouteError> { + match state.database.fetch_display_submission(submission_id) { + Ok(None) => Err(RouteError::NotFound("submission".into())), + Ok(Some(submission)) => Ok(Json(submission)), + Err(e) => Err(RouteError::Internal(format!("unable to fetch submission: {e:?}"))) + } +} + |
