From f2c6c8d65c071a5751a939bf0b322631d6213d35 Mon Sep 17 00:00:00 2001 From: didier amyot Date: Sat, 1 Apr 2023 11:12:20 -0400 Subject: [PATCH] Improved SessionService. --- src/services/_authentication.rs | 17 ++++------------- src/webui/services.rs | 2 +- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/services/_authentication.rs b/src/services/_authentication.rs index e6993fb..ffabea9 100644 --- a/src/services/_authentication.rs +++ b/src/services/_authentication.rs @@ -6,11 +6,11 @@ use cookie::{Cookie, CookieJar, Key}; use rusqlite::Connection; #[derive(Clone)] -pub struct SessionService { - key: Key, +pub struct SessionService<'a> { + key: &'a Key, } -impl SessionService { +impl SessionService<'_> { pub fn get_key(conn: &mut Connection) -> CustomResult { let tx = conn.transaction().map_err(Error::SqlError)?; @@ -18,16 +18,7 @@ impl SessionService { Ok(Key::derive_from(&secret)) } - pub fn from_conn(conn: &mut Connection) -> CustomResult { - let tx = conn.transaction().map_err(Error::SqlError)?; - let secret = LedgerInternal::new().get_cookie_secret(&tx)?; - let ret = SessionService { - key: Key::derive_from(&secret), - }; - Ok(ret) - } - - pub fn from_key(key: Key) -> SessionService{ + pub fn from_key(key: &Key) -> SessionService { SessionService{key} } diff --git a/src/webui/services.rs b/src/webui/services.rs index c41c111..5baefcd 100644 --- a/src/webui/services.rs +++ b/src/webui/services.rs @@ -40,7 +40,7 @@ impl ServicesFactory { } pub fn get_authentication_service(&self) -> Result { - Ok(SessionService::from_key(self.cache.session_service_key.clone())) + Ok(SessionService::from_key(& self.cache.session_service_key)) } pub fn get_user_service<'a>(