diff --git a/crates/api_models/Cargo.toml b/crates/api_models/Cargo.toml index eb706dc913..e5bf74c20c 100644 --- a/crates/api_models/Cargo.toml +++ b/crates/api_models/Cargo.toml @@ -8,7 +8,7 @@ readme = "README.md" license.workspace = true [features] -errors = ["dep:reqwest"] +errors = ["dep:actix-web", "dep:reqwest"] dummy_connector = ["euclid/dummy_connector", "common_enums/dummy_connector"] detailed_errors = [] payouts = ["common_enums/payouts"] @@ -21,10 +21,11 @@ v2 = ["common_utils/v2", "customer_v2"] customer_v2 = ["common_utils/customer_v2"] payment_methods_v2 = ["common_utils/payment_methods_v2"] dynamic_routing = [] +control_center_theme = ["dep:actix-web", "dep:actix-multipart"] [dependencies] -actix-multipart = "0.6.1" -actix-web = "4.5.1" +actix-multipart = { version = "0.6.1", optional = true } +actix-web = { version = "4.5.1", optional = true } error-stack = "0.4.1" indexmap = "2.3.0" mime = "0.3.17" diff --git a/crates/api_models/src/events/user.rs b/crates/api_models/src/events/user.rs index 15146e304a..88c084d2f0 100644 --- a/crates/api_models/src/events/user.rs +++ b/crates/api_models/src/events/user.rs @@ -2,11 +2,14 @@ use common_utils::events::{ApiEventMetric, ApiEventsType}; #[cfg(feature = "dummy_connector")] use crate::user::sample_data::SampleDataRequest; +#[cfg(feature = "control_center_theme")] +use crate::user::theme::{ + CreateThemeRequest, GetThemeResponse, UpdateThemeRequest, UploadFileRequest, +}; use crate::user::{ dashboard_metadata::{ GetMetaDataRequest, GetMetaDataResponse, GetMultipleMetaDataPayload, SetMetaDataRequest, }, - theme::{CreateThemeRequest, GetThemeResponse, UpdateThemeRequest, UploadFileRequest}, AcceptInviteFromEmailRequest, AuthSelectRequest, AuthorizeResponse, BeginTotpResponse, ChangePasswordRequest, ConnectAccountRequest, CreateInternalUserRequest, CreateUserAuthenticationMethodRequest, ForgotPasswordRequest, GetSsoAuthUrlRequest, @@ -62,7 +65,14 @@ common_utils::impl_api_event_type!( UpdateUserAuthenticationMethodRequest, GetSsoAuthUrlRequest, SsoSignInRequest, - AuthSelectRequest, + AuthSelectRequest + ) +); + +#[cfg(feature = "control_center_theme")] +common_utils::impl_api_event_type!( + Miscellaneous, + ( GetThemeResponse, UploadFileRequest, CreateThemeRequest, diff --git a/crates/api_models/src/user.rs b/crates/api_models/src/user.rs index 82291ddc92..de0116058c 100644 --- a/crates/api_models/src/user.rs +++ b/crates/api_models/src/user.rs @@ -8,6 +8,7 @@ use crate::user_role::UserStatus; pub mod dashboard_metadata; #[cfg(feature = "dummy_connector")] pub mod sample_data; +#[cfg(feature = "control_center_theme")] pub mod theme; #[derive(serde::Deserialize, Debug, Clone, serde::Serialize)] diff --git a/crates/router/Cargo.toml b/crates/router/Cargo.toml index dde06fe832..58815ad924 100644 --- a/crates/router/Cargo.toml +++ b/crates/router/Cargo.toml @@ -123,7 +123,7 @@ x509-parser = "0.16.0" # First party crates analytics = { version = "0.1.0", path = "../analytics", optional = true, default-features = false } -api_models = { version = "0.1.0", path = "../api_models", features = ["errors"] } +api_models = { version = "0.1.0", path = "../api_models", features = ["errors", "control_center_theme"] } cards = { version = "0.1.0", path = "../cards" } common_enums = { version = "0.1.0", path = "../common_enums" } common_utils = { version = "0.1.0", path = "../common_utils", features = ["signals", "async_ext", "logs", "metrics", "keymanager", "encryption_service"] }