From 328d0cd912dfa5dbda53a09ecdfeaeb93504b560 Mon Sep 17 00:00:00 2001 From: Daniel Hader Date: Wed, 3 Jun 2026 22:32:09 -0500 Subject: submission logic and fetching submissions --- src/routes/submission.rs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/routes') diff --git a/src/routes/submission.rs b/src/routes/submission.rs index 50bb53d..4cfad5c 100644 --- a/src/routes/submission.rs +++ b/src/routes/submission.rs @@ -1,4 +1,4 @@ -use axum::{Json, extract::State, http::StatusCode, response::IntoResponse}; +use axum::{Json, extract::{Path, State}, http::StatusCode, response::IntoResponse}; use serde::Deserialize; use crate::{AppState, routes::{auth::AuthUser, errors::RouteError}}; @@ -29,3 +29,22 @@ pub async fn create_submission( Err(_) => Err(RouteError::Internal(format!("unable to insert submission"))) } } + +pub async fn get_submissions_by_problem_id( + State(state): State, + Path(problem_id): Path +) -> Result { + let submissions = state.database.fetch_submissions_by_problem_id(problem_id) + .map_err(|_| RouteError::Internal("unable to fetch submissions".into()))?; + Ok(Json(submissions)) +} + +pub async fn get_display_submissions( + State(state): State, + Path(problem_id): Path +) -> Result { + let submissions = state.database.fetch_display_submissions(problem_id) + .map_err(|e| RouteError::Internal(format!("unable to fetch submissions: {e:?}")))?; + Ok(Json(submissions)) +} + -- cgit v1.2.3