diff --git a/api/src/lib.rs b/api/src/lib.rs index 8a8e476..c8385b7 100644 --- a/api/src/lib.rs +++ b/api/src/lib.rs @@ -59,6 +59,7 @@ async fn start() -> Result<(), rocket::Error> { routes::candidate::submit_portfolio, routes::candidate::is_portfolio_prepared, routes::candidate::is_portfolio_submitted, + routes::candidate::download_portfolio, ], ) .mount( diff --git a/api/src/routes/admin.rs b/api/src/routes/admin.rs index 5b47fbc..7ae1a96 100644 --- a/api/src/routes/admin.rs +++ b/api/src/routes/admin.rs @@ -21,8 +21,6 @@ pub async fn login( cookies: &CookieJar<'_>, ) -> Result> { let db = conn.into_inner(); - println!("{} {}", login_form.admin_id, login_form.password); - let session_token_key = AdminService::login( db, login_form.admin_id, diff --git a/api/src/routes/candidate.rs b/api/src/routes/candidate.rs index ed69c1d..e180352 100644 --- a/api/src/routes/candidate.rs +++ b/api/src/routes/candidate.rs @@ -23,8 +23,6 @@ pub async fn login( cookies: &CookieJar<'_>, ) -> Result> { let db = conn.into_inner(); - println!("{} {}", login_form.application_id, login_form.password); - let session_token_key = CandidateService::login( db, login_form.application_id, @@ -267,3 +265,21 @@ pub async fn is_portfolio_submitted(session: CandidateAuth) -> Result Result, Custom> { + let private_key = session.get_private_key(); + let candidate: entity::candidate::Model = session.into(); + + let file = PortfolioService::get_portfolio(candidate.application, private_key).await; + + if file.is_err() { + let e = file.err().unwrap(); + return Err(Custom( + Status::from_code(e.code()).unwrap_or_default(), + e.to_string(), + )); + } + + Ok(file.unwrap()) +} \ No newline at end of file