From c6c484daf3b083af70b50451db9409a7dec0bf24 Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Sun, 28 Aug 2022 17:15:56 +0200 Subject: [PATCH] add missing maps routes --- planetwars-server/src/routes/maps.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 planetwars-server/src/routes/maps.rs diff --git a/planetwars-server/src/routes/maps.rs b/planetwars-server/src/routes/maps.rs new file mode 100644 index 0000000..689b11e --- /dev/null +++ b/planetwars-server/src/routes/maps.rs @@ -0,0 +1,19 @@ +use crate::{db, DatabaseConnection}; +use axum::Json; +use hyper::StatusCode; +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize)] +pub struct ApiMap { + pub name: String, +} + +pub async fn list_maps(conn: DatabaseConnection) -> Result>, StatusCode> { + let maps = db::maps::list_maps(&conn).map_err(|_| StatusCode::INTERNAL_SERVER_ERROR)?; + + let api_maps = maps + .into_iter() + .map(|map| ApiMap { name: map.name }) + .collect(); + Ok(Json(api_maps)) +}