From 5597f0057ece4a1d2a4f20f49dd2646b69b63924 Mon Sep 17 00:00:00 2001 From: trisua Date: Fri, 25 Jul 2025 21:01:59 -0400 Subject: [PATCH] fix: make slugs case insensitive --- src/routes.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/routes.rs b/src/routes.rs index 1ed8c84..ec80259 100644 --- a/src/routes.rs +++ b/src/routes.rs @@ -133,7 +133,7 @@ async fn view_request( let (ref data, ref tera, ref build_code) = *data.read().await; let entry = match data .query(&SimplifiedQuery { - query: AppDataSelectQuery::KeyIs(format!("entries('{}')", slug)), + query: AppDataSelectQuery::KeyIs(format!("entries('{}')", slug.to_lowercase())), mode: AppDataSelectMode::One(0), }) .await @@ -236,7 +236,7 @@ async fn editor_request( let (ref data, ref tera, ref build_code) = *data.read().await; let entry = match data .query(&SimplifiedQuery { - query: AppDataSelectQuery::KeyIs(format!("entries('{}')", slug)), + query: AppDataSelectQuery::KeyIs(format!("entries('{}')", slug.to_lowercase())), mode: AppDataSelectMode::One(0), }) .await @@ -322,7 +322,7 @@ async fn exists_request( message: "Success".to_string(), payload: data .query(&SimplifiedQuery { - query: AppDataSelectQuery::KeyIs(format!("entries('{}')", slug)), + query: AppDataSelectQuery::KeyIs(format!("entries('{}')", slug.to_lowercase())), mode: AppDataSelectMode::One(0), }) .await @@ -393,6 +393,7 @@ async fn create_request( Json(mut req): Json, ) -> std::result::Result>> { let (ref data, _, _) = *data.read().await; + req.slug = req.slug.to_lowercase(); // get real ip let real_ip = headers @@ -643,7 +644,9 @@ async fn edit_request( } // check edited slug and edit code - if let Some(new_slug) = req.new_slug { + if let Some(mut new_slug) = req.new_slug { + new_slug = new_slug.to_lowercase(); + if new_slug.len() < 2 { return Json(Error::DataTooShort("slug".to_string()).into()); }