From c3fa0f0202dbf7ded3c64af25d16456ca3605692 Mon Sep 17 00:00:00 2001 From: BurnyLlama Date: Sat, 15 Apr 2023 21:35:02 +0200 Subject: [PATCH] Can now get maps by mapper or category. --- src/api/maps.rs | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/api/maps.rs b/src/api/maps.rs index cbf1357..aa461a3 100644 --- a/src/api/maps.rs +++ b/src/api/maps.rs @@ -10,6 +10,28 @@ async fn get_all_maps(db: &State) -> Result>, Str } } -pub fn get_all_routes() -> Vec { - routes![get_all_maps] +#[get("/category/")] +async fn get_maps_by_category( + db: &State, + category: &str, +) -> Result>, String> { + match Map::get_maps_by_category(db, category).await { + Ok(maps) => Ok(Json(maps)), + Err(err) => Err(format!("Error: {}", err)), + } +} + +#[get("/mapper/")] +async fn get_maps_by_mapper( + db: &State, + mapper: &str, +) -> Result>, String> { + match Map::get_maps_by_category(db, mapper).await { + Ok(maps) => Ok(Json(maps)), + Err(err) => Err(format!("Error: {}", err)), + } +} + +pub fn get_all_routes() -> Vec { + routes![get_all_maps, get_maps_by_category, get_maps_by_mapper] }