From 794052741820566cb4e2b357ca61f1f3ea1761ad Mon Sep 17 00:00:00 2001 From: KD Date: Sat, 1 Nov 2025 14:57:40 -0400 Subject: [PATCH] tsk-208: Moving config and endpoint code (#236) * tsk-208: Moving config and endpoint code * tsk-208: Code formatting * tsk-208: Version bump * tsk-208: Accidentally changed port --- Cargo.lock | 2 +- Cargo.toml | 2 +- src/callers/mod.rs | 7 +++++++ src/config/host.rs | 7 +++++++ src/config/mod.rs | 1 + src/main.rs | 29 +++++------------------------ 6 files changed, 22 insertions(+), 26 deletions(-) create mode 100644 src/config/host.rs create mode 100644 src/config/mod.rs diff --git a/Cargo.lock b/Cargo.lock index e906045..8f6cc1e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -964,7 +964,7 @@ dependencies = [ [[package]] name = "icarus" -version = "0.3.18" +version = "0.3.19" dependencies = [ "axum", "axum-extra", diff --git a/Cargo.toml b/Cargo.toml index 9e1af66..cb75948 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus" -version = "0.3.18" +version = "0.3.19" edition = "2024" rust-version = "1.90" diff --git a/src/callers/mod.rs b/src/callers/mod.rs index 542c384..b938401 100644 --- a/src/callers/mod.rs +++ b/src/callers/mod.rs @@ -3,6 +3,8 @@ pub mod queue; pub mod song; pub mod endpoints { + pub const ROOT: &str = "/"; + pub const CREATESONG: &str = "/api/v2/song"; pub const GETSONGS: &str = "/api/v2/song"; pub const GETALLSONGS: &str = "/api/v2/song/all"; @@ -17,3 +19,8 @@ pub mod endpoints { pub mod response { pub const SUCCESSFUL: &str = "SUCCESSFUL"; } + +/// Basic handler that responds with a static string +pub async fn root() -> &'static str { + "Hello, World!" +} diff --git a/src/config/host.rs b/src/config/host.rs new file mode 100644 index 0000000..f692adc --- /dev/null +++ b/src/config/host.rs @@ -0,0 +1,7 @@ +/// Full hosting address that the application will be broadcasting +pub fn get_full() -> String { + format!("{ADDRESS}:{PORT}") +} + +pub const ADDRESS: &str = "0.0.0.0"; +pub const PORT: &str = "8000"; diff --git a/src/config/mod.rs b/src/config/mod.rs new file mode 100644 index 0000000..5361e40 --- /dev/null +++ b/src/config/mod.rs @@ -0,0 +1 @@ +pub mod host; diff --git a/src/main.rs b/src/main.rs index e028386..93b4b6e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,6 @@ pub mod auth; pub mod callers; +pub mod config; pub mod repo; pub mod db { @@ -41,7 +42,9 @@ async fn main() { // build our application with a route let app = init::app().await; - let listener = tokio::net::TcpListener::bind(get_full()).await.unwrap(); + let listener = tokio::net::TcpListener::bind(config::host::get_full()) + .await + .unwrap(); axum::serve(listener, app).await.unwrap(); } @@ -139,7 +142,7 @@ pub mod init { pub async fn routes() -> axum::Router { axum::Router::new() - .route(crate::ROOT, get(crate::root)) + .route(crate::callers::endpoints::ROOT, get(crate::callers::root)) .route( crate::callers::queue::endpoints::QUEUESONG, post(crate::callers::queue::song::endpoint::queue_song).route_layer( @@ -304,28 +307,6 @@ pub mod init { } } -// TODO: Move elsewhere -fn get_full() -> String { - get_address() + ":" + &get_port() -} -// TODO: Move elsewhere -fn get_address() -> String { - String::from("0.0.0.0") -} - -// TODO: Move elsewhere -fn get_port() -> String { - String::from("8000") -} - -// TODO: Move elsewhere -pub const ROOT: &str = "/"; -// TODO: Move elsewhere -// basic handler that responds with a static string -pub async fn root() -> &'static str { - "Hello, World!" -} - #[cfg(test)] mod tests { use std::io::Write;