From 441397643ee07df0569d070a06919d0a8875734c Mon Sep 17 00:00:00 2001 From: One <43485962+c-git@users.noreply.github.com> Date: Sun, 22 Dec 2024 22:28:58 -0500 Subject: [PATCH] feat: get version number from correct crate --- crates/chat-app-server/src/main.rs | 7 ++++--- crates/chat-app-server/tests/api/helpers.rs | 7 ++++--- crates/wykies-server/src/startup.rs | 16 +++++++++++----- 3 files changed, 19 insertions(+), 11 deletions(-) diff --git a/crates/chat-app-server/src/main.rs b/crates/chat-app-server/src/main.rs index 90c6ec7..073b5b0 100644 --- a/crates/chat-app-server/src/main.rs +++ b/crates/chat-app-server/src/main.rs @@ -44,9 +44,10 @@ async fn main() -> anyhow::Result<()> { let api_server_init_bundle = ApiServerInitBundle::::new(); let db_pool = wykies_server::get_db_connection_pool(&api_server_init_bundle.configuration.database); - let api_server_builder = ApiServerBuilder::new(api_server_init_bundle, db_pool) - .await - .expect("failed to initialize API Server"); + let api_server_builder = + ApiServerBuilder::new(api_server_init_bundle, db_pool, env!("CARGO_PKG_VERSION")) + .await + .expect("failed to initialize API Server"); let addr = wykies_server::get_socket_address( &api_server_builder diff --git a/crates/chat-app-server/tests/api/helpers.rs b/crates/chat-app-server/tests/api/helpers.rs index 41bd740..d7c2317 100644 --- a/crates/chat-app-server/tests/api/helpers.rs +++ b/crates/chat-app-server/tests/api/helpers.rs @@ -78,9 +78,10 @@ async fn start_server_in_background( configuration, }; - let api_server_builder = ApiServerBuilder::new(api_server_init_bundle, db_pool) - .await - .expect("Failed to build application."); + let api_server_builder = + ApiServerBuilder::new(api_server_init_bundle, db_pool, env!("CARGO_PKG_VERSION")) + .await + .expect("Failed to build application."); let addr = wykies_server::get_socket_address( &api_server_builder .api_server_init_bundle diff --git a/crates/wykies-server/src/startup.rs b/crates/wykies-server/src/startup.rs index db6aab4..0e02de6 100644 --- a/crates/wykies-server/src/startup.rs +++ b/crates/wykies-server/src/startup.rs @@ -17,7 +17,7 @@ use actix_session::SessionMiddleware; use actix_web::{ middleware::from_fn, web::{self, ServiceConfig}, - App, HttpServer, + App, HttpResponse, HttpServer, }; use anyhow::Context as _; use secrecy::ExposeSecret as _; @@ -61,6 +61,7 @@ where { pub db_pool: DbPool, pub api_server_init_bundle: ApiServerInitBundle, + pkg_version: &'static str, } /// Initializes Tracing @@ -110,10 +111,12 @@ impl ApiServerBuilder { pub async fn new( api_server_init_bundle: ApiServerInitBundle, db_pool: DbPool, + pkg_version: &'static str, ) -> anyhow::Result { Ok(Self { db_pool, api_server_init_bundle, + pkg_version, }) } @@ -150,6 +153,7 @@ impl ApiServerBuilder { .expose_secret() .as_bytes(), ); + let pkg_version = self.pkg_version; #[cfg(feature = "redis-session-rustls")] let session_store = { @@ -248,11 +252,14 @@ impl ApiServerBuilder { ), ) .configure(open_resource.clone()) - .route("/login", web::post().to(login)) - // TODO 1: Add an endpoint to give the version .route("/branches", web::get().to(branch_list)) .route("/health_check", web::get().to(health_check)) + .route("/login", web::post().to(login)) .route("/status", web::get().to(status)) + .route( + "/version", + web::get().to(|| async { HttpResponse::Ok().body(pkg_version.to_string()) }), + ) .service(actix_files::Files::new("/", front_end_folder).index_file("index.html")) .app_data(db_pool.clone()) .app_data(login_attempt_limit.clone()) @@ -264,8 +271,7 @@ impl ApiServerBuilder { .run(); info!( version = env!("CARGO_PKG_VERSION"), - "API Server prepared to be run at version {}", - env!("CARGO_PKG_VERSION") + "API Server prepared to be run at version {}", pkg_version ); Ok((RunnableApiServer(server), cancellation_tracker, port)) }