Overview

The DeploymentSettingsResponse struct represents the complete deployment configuration including authentication, display, B2B settings, and restrictions.

Definition

pub struct DeploymentSettingsResponse {
    pub id: String,
    pub name: String,
    pub authentication_settings: AuthenticationSettings,
    pub display_settings: DisplaySettings,
    pub b2b_settings: B2BSettings,
    pub restrictions: DeploymentRestrictions,
}

Fields

id
String
required
The unique identifier of the deployment.
name
String
required
The name of the deployment.
authentication_settings
AuthenticationSettings
required
Authentication configuration including password policies, session settings, and authentication methods.
display_settings
DisplaySettings
required
UI and branding configuration including logos, colors, and custom styling.
b2b_settings
B2BSettings
required
Business-to-business configuration including organization features and permissions.
restrictions
DeploymentRestrictions
required
Access restrictions and allowed domains configuration.

Usage Example

use wacht::api::settings::fetch_deployment_settings;

let settings = fetch_deployment_settings().await?;

println!("Deployment: {} ({})", settings.name, settings.id);

// Check authentication settings
println!("Authentication Settings:");
println!("  Password min length: {}", settings.authentication_settings.password_min_length);
println!("  Require uppercase: {}", settings.authentication_settings.require_uppercase);
println!("  Session timeout: {} minutes", settings.authentication_settings.session_timeout_minutes);

// Check display settings
println!("Display Settings:");
println!("  Primary color: {}", settings.display_settings.primary_color);
if let Some(logo_url) = &settings.display_settings.logo_url {
    println!("  Logo URL: {}", logo_url);
}

// Check B2B settings
println!("B2B Settings:");
println!("  Organizations enabled: {}", settings.b2b_settings.organizations_enabled);
println!("  Max orgs per user: {:?}", settings.b2b_settings.max_organizations_per_user);

// Check restrictions
println!("Restrictions:");
if let Some(allowed_domains) = &settings.restrictions.allowed_email_domains {
    println!("  Allowed domains: {:?}", allowed_domains);
}

See Also