Skip to content

Commit

Permalink
feat: get version number from correct crate
Browse files Browse the repository at this point in the history
  • Loading branch information
c-git committed Dec 23, 2024
1 parent 80ad79e commit 4413976
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 11 deletions.
7 changes: 4 additions & 3 deletions crates/chat-app-server/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,10 @@ async fn main() -> anyhow::Result<()> {
let api_server_init_bundle = ApiServerInitBundle::<CustomConfiguration>::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
Expand Down
7 changes: 4 additions & 3 deletions crates/chat-app-server/tests/api/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
16 changes: 11 additions & 5 deletions crates/wykies-server/src/startup.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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 _;
Expand Down Expand Up @@ -61,6 +61,7 @@ where
{
pub db_pool: DbPool,
pub api_server_init_bundle: ApiServerInitBundle<T>,
pkg_version: &'static str,
}

/// Initializes Tracing
Expand Down Expand Up @@ -110,10 +111,12 @@ impl<T: Clone + DeserializeOwned> ApiServerBuilder<T> {
pub async fn new(
api_server_init_bundle: ApiServerInitBundle<T>,
db_pool: DbPool,
pkg_version: &'static str,
) -> anyhow::Result<Self> {
Ok(Self {
db_pool,
api_server_init_bundle,
pkg_version,
})
}

Expand Down Expand Up @@ -150,6 +153,7 @@ impl<T: Clone + DeserializeOwned> ApiServerBuilder<T> {
.expose_secret()
.as_bytes(),
);
let pkg_version = self.pkg_version;

#[cfg(feature = "redis-session-rustls")]
let session_store = {
Expand Down Expand Up @@ -248,11 +252,14 @@ impl<T: Clone + DeserializeOwned> ApiServerBuilder<T> {
),
)
.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())
Expand All @@ -264,8 +271,7 @@ impl<T: Clone + DeserializeOwned> ApiServerBuilder<T> {
.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))
}
Expand Down

0 comments on commit 4413976

Please sign in to comment.