diff --git a/Cargo.lock b/Cargo.lock index ab87d49..c44952c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -297,7 +297,7 @@ checksum = "f154ce46856750ed433c8649605bf7ed2de3bc35fd9d2a9f30cddd873c80cb08" [[package]] name = "icarus_envy" -version = "0.3.2" +version = "0.3.3" dependencies = [ "async-std", "const_format", diff --git a/Cargo.toml b/Cargo.toml index 8cfc376..d288dfd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "icarus_envy" -version = "0.3.2" +version = "0.3.3" edition = "2024" rust-version = "1.88" diff --git a/src/environment.rs b/src/environment.rs index d001768..37e0d27 100644 --- a/src/environment.rs +++ b/src/environment.rs @@ -33,3 +33,28 @@ pub async fn get_icarus_auth_base_api_url() -> String { std::env::var(crate::keys::ICARUS_AUTH_BASE_API_URL) .expect(crate::keys::error::ICARUS_AUTH_BASE_API_URL) } + +pub async fn get_app_env() -> String { + dotenvy::dotenv().ok(); + std::env::var(crate::keys::APP_ENV).expect(crate::keys::error::APP_ENV) +} + +pub async fn get_backend_port() -> String { + dotenvy::dotenv().ok(); + std::env::var(crate::keys::BACKEND_PORT).expect(crate::keys::error::BACKEND_PORT) +} + +pub async fn get_frontend_url() -> String { + dotenvy::dotenv().ok(); + std::env::var(crate::keys::FRONTEND_URL).expect(crate::keys::error::FRONTEND_URL) +} + +pub async fn get_rust_log() -> String { + dotenvy::dotenv().ok(); + std::env::var(crate::keys::RUST_LOG).expect(crate::keys::error::RUST_LOG) +} + +pub async fn get_allowed_origins() -> String { + dotenvy::dotenv().ok(); + std::env::var(crate::keys::ALLOWED_ORIGINS).expect(crate::keys::error::ALLOWED_ORIGINS) +} diff --git a/src/keys.rs b/src/keys.rs index 2a9a8aa..1f0b1d6 100644 --- a/src/keys.rs +++ b/src/keys.rs @@ -21,6 +21,17 @@ pub const ICARUS_BASE_API_URL: &str = "ICARUS_BASE_API_URL"; // Environment key for icarus auth api url pub const ICARUS_AUTH_BASE_API_URL: &str = "ICARUS_AUTH_BASE_API_URL"; +/// Environment key for App status +pub const APP_ENV: &str = "APP_ENV"; +/// Environment key for backend port. Used for both auth and core functionality +pub const BACKEND_PORT: &str = "BACKEND_PORT"; +/// Environment key for frontend url +pub const FRONTEND_URL: &str = "FRONTEND_URL"; +/// Environment key for application logging +pub const RUST_LOG: &str = "RUST_LOG"; +/// Environment key for allowed origins for CORS support +pub const ALLOWED_ORIGINS: &str = "ALLOWED_ORIGINS"; + pub mod error { use const_format::concatcp; @@ -33,4 +44,9 @@ pub mod error { pub const ICARUS_BASE_API_URL: &str = concatcp!(super::ICARUS_BASE_API_URL, " ", GENERAL_ERROR); pub const ICARUS_AUTH_BASE_API_URL: &str = concatcp!(super::ICARUS_AUTH_BASE_API_URL, " ", GENERAL_ERROR); + pub const APP_ENV: &str = concatcp!(super::APP_ENV, " ", GENERAL_ERROR); + pub const BACKEND_PORT: &str = concatcp!(super::BACKEND_PORT, " ", GENERAL_ERROR); + pub const FRONTEND_URL: &str = concatcp!(super::FRONTEND_URL, " ", GENERAL_ERROR); + pub const RUST_LOG: &str = concatcp!(super::RUST_LOG, " ", GENERAL_ERROR); + pub const ALLOWED_ORIGINS: &str = concatcp!(super::ALLOWED_ORIGINS, " ", GENERAL_ERROR); }