From 211ed722caf6e105d4393ccfcd5c49e509308f07 Mon Sep 17 00:00:00 2001 From: Sebastian Pravda Date: Sun, 4 Dec 2022 21:02:42 +0100 Subject: [PATCH] feat: delete portfolio candidate endpoint --- api/src/lib.rs | 1 + api/src/routes/candidate.rs | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/api/src/lib.rs b/api/src/lib.rs index 0ad341d..36a0ff3 100644 --- a/api/src/lib.rs +++ b/api/src/lib.rs @@ -94,6 +94,7 @@ pub fn rocket() -> Rocket{ routes::candidate::is_portfolio_submitted, routes::candidate::submission_progress, routes::candidate::download_portfolio, + routes::candidate::delete_portfolio, ], ) .mount( diff --git a/api/src/routes/candidate.rs b/api/src/routes/candidate.rs index 24459df..67d8aff 100644 --- a/api/src/routes/candidate.rs +++ b/api/src/routes/candidate.rs @@ -214,6 +214,20 @@ pub async fn submit_portfolio( Ok("Portfolio submitted".to_string()) } +#[post("/delete")] +pub async fn delete_portfolio( + conn: Connection<'_, Db>, + session: CandidateAuth, +) -> Result> { + let candidate: entity::candidate::Model = session.into(); + + PortfolioService::delete_portfolio(candidate.application) + .await + .map_err(to_custom_error)?; + + Ok("Portfolio deleted".to_string()) +} + #[deprecated = "Use /submission_progress instead"] #[get("/is_prepared")] pub async fn is_portfolio_prepared(session: CandidateAuth) -> Result> {