ddstats/src/main.rs

41 lines
816 B
Rust

#[macro_use] extern crate rocket;
use rocket::serde::json::Json;
extern crate dotenv;
use dotenv::dotenv;
mod types;
mod database;
#[get("/maps")]
fn get_all_maps() -> Option<Json<Vec<types::Map>>> {
match database::get_maps() {
Ok(maps) => Some(Json(maps)),
Err(err) => {
println!("{err}");
None
}
}
}
#[get("/maps/<map>")]
fn get_map_by_name(map: &str) -> Option<Json<types::Map>> {
match database::get_map_by_name(map) {
Ok(map) => match map {
Some(map) => Some(Json(map)),
None => None
},
Err(err) => {
println!("{err}");
None
}
}
}
#[launch]
fn rocket() -> _ {
dotenv().ok();
rocket::build()
.mount("/", routes![get_all_maps, get_map_by_name])
}