diff options
Diffstat (limited to 'src/handlers/admin.rs')
| -rw-r--r-- | src/handlers/admin.rs | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/src/handlers/admin.rs b/src/handlers/admin.rs index 03c933b..b0863af 100644 --- a/src/handlers/admin.rs +++ b/src/handlers/admin.rs @@ -3,7 +3,7 @@ use std::io::{BufWriter, Write}; use anyhow::Context; use axum::body::Bytes; -use axum::extract::{Multipart, Request, State}; +use axum::extract::{Multipart, Path, Request, State}; use axum::http::{HeaderMap, StatusCode}; use axum::middleware::Next; use axum::response::{IntoResponse, Response}; @@ -126,20 +126,10 @@ pub async fn upload_story( pub async fn delete_story( ctx: Extension<ApiContext>, - mut multipart: Multipart, + Path(story_id): Path<i64>, ) -> Result<impl IntoResponse, AppError> { - if let Some(field) = multipart.next_field().await? { - if let Some(label) = field.name() { - if label == "id" { - let pid = field.text().await?.parse::<i64>()?; - Story::delete(&ctx.pool, pid).await?; - return Ok((StatusCode::NO_CONTENT).into_response()); - } - return Ok(StatusCode::BAD_REQUEST.into_response()); - } - return Ok(StatusCode::BAD_REQUEST.into_response()); - } - Ok(StatusCode::BAD_REQUEST.into_response()) + Story::delete(&ctx.pool, story_id).await?; + Ok((StatusCode::NO_CONTENT).into_response()) } pub async fn get_stories(ctx: Extension<ApiContext>) -> Result<impl IntoResponse, AppError> { |
