From 753863052af102d3a76d14832fb61089c5b761bb Mon Sep 17 00:00:00 2001 From: Aravinth Manivannan Date: Fri, 10 Jan 2025 15:49:23 +0530 Subject: [PATCH] feat: app-wide adapters loading util --- src/utils/load_adapters.rs | 24 ++++++++++++++++++++++++ src/utils/mod.rs | 1 + 2 files changed, 25 insertions(+) create mode 100644 src/utils/load_adapters.rs diff --git a/src/utils/load_adapters.rs b/src/utils/load_adapters.rs new file mode 100644 index 0000000..1fb3bd1 --- /dev/null +++ b/src/utils/load_adapters.rs @@ -0,0 +1,24 @@ +// SPDX-FileCopyrightText: 2024 Aravinth Manivannan +// +// SPDX-License-Identifier: AGPL-3.0-or-later +use actix_web::web::{self, Data}; +use sqlx::postgres::PgPool; + +use crate::settings::Settings; + +pub fn load_adapters(pool: PgPool, settings: Settings) -> impl FnOnce(&mut web::ServiceConfig) { + let f = move |cfg: &mut web::ServiceConfig| { + cfg.configure(crate::identity::adapters::load_adapters( + pool.clone(), + settings.clone(), + )) + .configure(crate::billing::adapters::load_adapters( + pool.clone(), + settings.clone(), + )) + .configure(super::random_string::GenerateRandomString::inject()) + .configure(super::uuid::GenerateUUID::inject()); + }; + + Box::new(f) +} diff --git a/src/utils/mod.rs b/src/utils/mod.rs index 2ca7fc9..8b6fd1b 100644 --- a/src/utils/mod.rs +++ b/src/utils/mod.rs @@ -2,6 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0-or-later +pub mod load_adapters; pub mod parse_aggregate_id; pub mod random_number; pub mod random_string;