From f26e66d68796bcd3e391a36100c12c3bb9fa210a Mon Sep 17 00:00:00 2001
From: Tobias Reisinger <tobias@msrg.cc>
Date: Fri, 10 May 2024 17:43:29 +0200
Subject: [PATCH] Add parameter for db pool size

---
 src/db/mod.rs               | 4 ++--
 src/errors/emgauwa_error.rs | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/db/mod.rs b/src/db/mod.rs
index 7ebb6c3..d406c94 100644
--- a/src/db/mod.rs
+++ b/src/db/mod.rs
@@ -33,14 +33,14 @@ pub async fn run_migrations(pool: &Pool<Sqlite>) -> Result<(), EmgauwaError> {
 	Ok(())
 }
 
-pub async fn init(db: &str) -> Result<Pool<Sqlite>, EmgauwaError> {
+pub async fn init(db: &str, pool_size: u32) -> Result<Pool<Sqlite>, EmgauwaError> {
 	let options = SqliteConnectOptions::from_str(db)?
 		.create_if_missing(true)
 		.log_statements(log::LevelFilter::Trace);
 
 	let pool: Pool<Sqlite> = SqlitePoolOptions::new()
 		.acquire_timeout(std::time::Duration::from_secs(1))
-		.max_connections(5)
+		.max_connections(pool_size)
 		.connect_with(options)
 		.await?;
 
diff --git a/src/errors/emgauwa_error.rs b/src/errors/emgauwa_error.rs
index bd7f04e..f37c38e 100644
--- a/src/errors/emgauwa_error.rs
+++ b/src/errors/emgauwa_error.rs
@@ -47,7 +47,7 @@ impl From<&EmgauwaError> for String {
 			EmgauwaError::Database(err) => String::from(err),
 			EmgauwaError::Uid(_) => String::from("the uid is in a bad format"),
 			EmgauwaError::Internal(_) => String::from("internal error"),
-			EmgauwaError::Connection(_) => String::from("the target controller is not connected"),
+			EmgauwaError::Connection(uid) => format!("unable to connect to controller with uid: {}", uid),
 			EmgauwaError::Other(err) => format!("other error: {}", err),
 			EmgauwaError::Hardware(err) => format!("hardware error: {}", err),
 		}