diff --git a/src/router/mod.rs b/src/router/mod.rs index 9e129eb..27feece 100644 --- a/src/router/mod.rs +++ b/src/router/mod.rs @@ -1,9 +1,18 @@ use axum::{Router, http::StatusCode, routing::get}; use chrono::{NaiveDate, Utc}; +use crate::router::redirects::redirects; + +mod redirects; + pub fn init() -> Router { + Router::new().merge(redirects()).nest("/api/", api()) +} + +fn api() -> Router { Router::new() - .route("/", get(async || "root")) + .route("/", get(async || StatusCode::OK)) + .route("/live", get(async || StatusCode::OK)) .route("/discord/member-count", get(get_member_count)) .route("/days/community", get(get_days_since_community_formation)) } diff --git a/src/router/redirects.rs b/src/router/redirects.rs new file mode 100644 index 0000000..423d257 --- /dev/null +++ b/src/router/redirects.rs @@ -0,0 +1,21 @@ +use axum::{Router, response::Redirect, routing::get}; + +pub fn redirects() -> Router { + Router::new() + .route( + "/discord", + get(Redirect::temporary("https://discord.gg/NBXq95C")), + ) + .route( + "/github", + get(Redirect::temporary("https://github.com/gractwo")), + ) + .route( + "/youtube", + get(Redirect::temporary("https://www.youtube.com/@gractwopl")), + ) + .route( + "/bsky", + get(Redirect::temporary("https://bsky.app/profile/gractwo.pl")), + ) +}