Skip to content

Commit dff6bca

Browse files
committed
refactor: [#1195] remove authentication::Facade service
1 parent 77eccdc commit dff6bca

File tree

28 files changed

+161
-310
lines changed

28 files changed

+161
-310
lines changed

src/app.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ pub async fn start(config: &Configuration, app_container: &AppContainer) -> Vec<
5252
// Load peer keys
5353
if app_container.tracker.is_private() {
5454
app_container
55-
.tracker
56-
.authentication
55+
.keys_handler
5756
.load_keys_from_database()
5857
.await
5958
.expect("Could not retrieve keys from database.");
@@ -120,6 +119,7 @@ pub async fn start(config: &Configuration, app_container: &AppContainer) -> Vec<
120119
if let Some(job) = tracker_apis::start_job(
121120
http_api_config,
122121
app_container.tracker.clone(),
122+
app_container.keys_handler.clone(),
123123
app_container.whitelist_manager.clone(),
124124
app_container.ban_service.clone(),
125125
app_container.stats_event_sender.clone(),

src/app_test.rs

+3-11
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ use crate::core::authentication::key::repository::persisted::DatabaseKeyReposito
99
use crate::core::authentication::service::{self, AuthenticationService};
1010
use crate::core::databases::Database;
1111
use crate::core::services::initialize_database;
12+
use crate::core::whitelist;
1213
use crate::core::whitelist::repository::in_memory::InMemoryWhitelist;
13-
use crate::core::{authentication, whitelist};
1414

1515
/// Initialize the tracker dependencies.
1616
#[allow(clippy::type_complexity)]
@@ -21,7 +21,6 @@ pub fn initialize_tracker_dependencies(
2121
Arc<Box<dyn Database>>,
2222
Arc<InMemoryWhitelist>,
2323
Arc<whitelist::authorization::Authorization>,
24-
Arc<authentication::Facade>,
2524
Arc<AuthenticationService>,
2625
) {
2726
let database = initialize_database(config);
@@ -33,17 +32,10 @@ pub fn initialize_tracker_dependencies(
3332
let db_key_repository = Arc::new(DatabaseKeyRepository::new(&database));
3433
let in_memory_key_repository = Arc::new(InMemoryKeyRepository::default());
3534
let authentication_service = Arc::new(service::AuthenticationService::new(&config.core, &in_memory_key_repository));
36-
let keys_handler = Arc::new(KeysHandler::new(
35+
let _keys_handler = Arc::new(KeysHandler::new(
3736
&db_key_repository.clone(),
3837
&in_memory_key_repository.clone(),
3938
));
40-
let authentication_facade = Arc::new(authentication::Facade::new(&keys_handler));
4139

42-
(
43-
database,
44-
in_memory_whitelist,
45-
whitelist_authorization,
46-
authentication_facade,
47-
authentication_service,
48-
)
40+
(database, in_memory_whitelist, whitelist_authorization, authentication_service)
4941
}

src/bootstrap/app.rs

+3-9
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ use crate::core::authentication::key::repository::in_memory::InMemoryKeyReposito
2727
use crate::core::authentication::key::repository::persisted::DatabaseKeyRepository;
2828
use crate::core::authentication::service;
2929
use crate::core::services::{initialize_database, initialize_tracker, initialize_whitelist_manager, statistics};
30+
use crate::core::whitelist;
3031
use crate::core::whitelist::repository::in_memory::InMemoryWhitelist;
31-
use crate::core::{authentication, whitelist};
3232
use crate::servers::udp::server::banning::BanService;
3333
use crate::servers::udp::server::launcher::MAX_CONNECTION_ID_ERRORS_PER_IP;
3434
use crate::shared::crypto::ephemeral_instance_keys;
@@ -103,24 +103,18 @@ pub fn initialize_app_container(configuration: &Configuration) -> AppContainer {
103103
&db_key_repository.clone(),
104104
&in_memory_key_repository.clone(),
105105
));
106-
let authentication = Arc::new(authentication::Facade::new(&keys_handler));
107106

108-
let tracker = Arc::new(initialize_tracker(
109-
configuration,
110-
&database,
111-
&whitelist_authorization,
112-
&authentication,
113-
));
107+
let tracker = Arc::new(initialize_tracker(configuration, &database, &whitelist_authorization));
114108

115109
AppContainer {
116110
tracker,
111+
keys_handler,
117112
authentication_service,
118113
whitelist_authorization,
119114
ban_service,
120115
stats_event_sender,
121116
stats_repository,
122117
whitelist_manager,
123-
authentication,
124118
}
125119
}
126120

src/bootstrap/jobs/http_tracker.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ mod tests {
115115
use crate::core::authentication::key::repository::persisted::DatabaseKeyRepository;
116116
use crate::core::authentication::service;
117117
use crate::core::services::{initialize_database, initialize_tracker, statistics};
118+
use crate::core::whitelist;
118119
use crate::core::whitelist::repository::in_memory::InMemoryWhitelist;
119-
use crate::core::{authentication, whitelist};
120120
use crate::servers::http::Version;
121121
use crate::servers::registar::Registar;
122122

@@ -140,13 +140,12 @@ mod tests {
140140
let db_key_repository = Arc::new(DatabaseKeyRepository::new(&database));
141141
let in_memory_key_repository = Arc::new(InMemoryKeyRepository::default());
142142
let authentication_service = Arc::new(service::AuthenticationService::new(&cfg.core, &in_memory_key_repository));
143-
let keys_handler = Arc::new(KeysHandler::new(
143+
let _keys_handler = Arc::new(KeysHandler::new(
144144
&db_key_repository.clone(),
145145
&in_memory_key_repository.clone(),
146146
));
147-
let authentication = Arc::new(authentication::Facade::new(&keys_handler));
148147

149-
let tracker = Arc::new(initialize_tracker(&cfg, &database, &whitelist_authorization, &authentication));
148+
let tracker = Arc::new(initialize_tracker(&cfg, &database, &whitelist_authorization));
150149

151150
let version = Version::V1;
152151

src/bootstrap/jobs/tracker_apis.rs

+19-4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ use torrust_tracker_configuration::{AccessTokens, HttpApi};
3030
use tracing::instrument;
3131

3232
use super::make_rust_tls;
33+
use crate::core::authentication::handler::KeysHandler;
3334
use crate::core::statistics::event::sender::Sender;
3435
use crate::core::statistics::repository::Repository;
3536
use crate::core::whitelist::manager::WhiteListManager;
@@ -60,10 +61,20 @@ pub struct ApiServerJobStarted();
6061
///
6162
///
6263
#[allow(clippy::too_many_arguments)]
63-
#[instrument(skip(config, tracker, whitelist_manager, ban_service, stats_event_sender, stats_repository, form))]
64+
#[instrument(skip(
65+
config,
66+
tracker,
67+
keys_handler,
68+
whitelist_manager,
69+
ban_service,
70+
stats_event_sender,
71+
stats_repository,
72+
form
73+
))]
6474
pub async fn start_job(
6575
config: &HttpApi,
6676
tracker: Arc<core::Tracker>,
77+
keys_handler: Arc<KeysHandler>,
6778
whitelist_manager: Arc<WhiteListManager>,
6879
ban_service: Arc<RwLock<BanService>>,
6980
stats_event_sender: Arc<Option<Box<dyn Sender>>>,
@@ -85,6 +96,7 @@ pub async fn start_job(
8596
bind_to,
8697
tls,
8798
tracker.clone(),
99+
keys_handler.clone(),
88100
whitelist_manager.clone(),
89101
ban_service.clone(),
90102
stats_event_sender.clone(),
@@ -103,6 +115,7 @@ pub async fn start_job(
103115
socket,
104116
tls,
105117
tracker,
118+
keys_handler,
106119
whitelist_manager,
107120
ban_service,
108121
stats_event_sender,
@@ -114,6 +127,7 @@ async fn start_v1(
114127
socket: SocketAddr,
115128
tls: Option<RustlsConfig>,
116129
tracker: Arc<core::Tracker>,
130+
keys_handler: Arc<KeysHandler>,
117131
whitelist_manager: Arc<WhiteListManager>,
118132
ban_service: Arc<RwLock<BanService>>,
119133
stats_event_sender: Arc<Option<Box<dyn Sender>>>,
@@ -124,6 +138,7 @@ async fn start_v1(
124138
let server = ApiServer::new(Launcher::new(socket, tls))
125139
.start(
126140
tracker,
141+
keys_handler,
127142
whitelist_manager,
128143
stats_event_sender,
129144
stats_repository,
@@ -154,8 +169,8 @@ mod tests {
154169
use crate::core::authentication::key::repository::persisted::DatabaseKeyRepository;
155170
use crate::core::authentication::service;
156171
use crate::core::services::{initialize_database, initialize_tracker, initialize_whitelist_manager, statistics};
172+
use crate::core::whitelist;
157173
use crate::core::whitelist::repository::in_memory::InMemoryWhitelist;
158-
use crate::core::{authentication, whitelist};
159174
use crate::servers::apis::Version;
160175
use crate::servers::registar::Registar;
161176
use crate::servers::udp::server::banning::BanService;
@@ -187,15 +202,15 @@ mod tests {
187202
&db_key_repository.clone(),
188203
&in_memory_key_repository.clone(),
189204
));
190-
let authentication = Arc::new(authentication::Facade::new(&keys_handler));
191205

192-
let tracker = Arc::new(initialize_tracker(&cfg, &database, &whitelist_authorization, &authentication));
206+
let tracker = Arc::new(initialize_tracker(&cfg, &database, &whitelist_authorization));
193207

194208
let version = Version::V1;
195209

196210
start_job(
197211
config,
198212
tracker,
213+
keys_handler,
199214
whitelist_manager,
200215
ban_service,
201216
stats_event_sender,

src/container.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,21 @@ use std::sync::Arc;
22

33
use tokio::sync::RwLock;
44

5+
use crate::core::authentication::handler::KeysHandler;
56
use crate::core::authentication::service::AuthenticationService;
67
use crate::core::statistics::event::sender::Sender;
78
use crate::core::statistics::repository::Repository;
89
use crate::core::whitelist::manager::WhiteListManager;
9-
use crate::core::{authentication, whitelist, Tracker};
10+
use crate::core::{whitelist, Tracker};
1011
use crate::servers::udp::server::banning::BanService;
1112

1213
pub struct AppContainer {
1314
pub tracker: Arc<Tracker>,
15+
pub keys_handler: Arc<KeysHandler>,
1416
pub authentication_service: Arc<AuthenticationService>,
1517
pub whitelist_authorization: Arc<whitelist::authorization::Authorization>,
1618
pub ban_service: Arc<RwLock<BanService>>,
1719
pub stats_event_sender: Arc<Option<Box<dyn Sender>>>,
1820
pub stats_repository: Arc<Repository>,
1921
pub whitelist_manager: Arc<WhiteListManager>,
20-
pub authentication: Arc<authentication::Facade>,
2122
}

src/core/authentication/handler.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,8 @@ mod tests {
303303
use torrust_tracker_clock::clock::Time;
304304

305305
use crate::core::authentication::handler::tests::the_keys_handler_when_tracker_is_configured_as_private::instantiate_keys_handler;
306-
use crate::core::authentication::{AddKeyRequest, Key};
306+
use crate::core::authentication::handler::AddKeyRequest;
307+
use crate::core::authentication::Key;
307308
use crate::CurrentClock;
308309

309310
#[tokio::test]
@@ -344,7 +345,8 @@ mod tests {
344345
mod pre_generated_keys {
345346

346347
use crate::core::authentication::handler::tests::the_keys_handler_when_tracker_is_configured_as_private::instantiate_keys_handler;
347-
use crate::core::authentication::{AddKeyRequest, Key};
348+
use crate::core::authentication::handler::AddKeyRequest;
349+
use crate::core::authentication::Key;
348350

349351
#[tokio::test]
350352
async fn it_should_add_a_pre_generated_key() {

0 commit comments

Comments
 (0)