Mountain/Binary/Service/
ConfigurationInitialize.rs

1//! # Configuration Initialize Module
2//!
3//! Initializes and merges application configurations from multiple sources.
4
5use log::{error, info};
6
7use crate::Environment::{
8	ConfigurationProvider::Loading::initialize_and_merge_configurations,
9	MountainEnvironment::MountainEnvironment,
10};
11
12/// Initializes and merges all application configurations.
13///
14/// # Arguments
15///
16/// * `Environment` - The Mountain environment instance
17///
18/// # Returns
19///
20/// A `Result` indicating success or failure.
21///
22/// # Configuration Sources
23///
24/// The configuration initialization process merges configurations from:
25/// - Default application settings
26/// - User configuration files
27/// - Environment variables
28/// - Command-line arguments
29/// - External service configurations
30///
31/// # Errors
32///
33/// Returns an error if configuration initialization or merging fails.
34pub async fn ConfigurationInitialize(Environment:&std::sync::Arc<MountainEnvironment>) -> Result<(), String> {
35	match initialize_and_merge_configurations(Environment).await {
36		Ok(()) => {
37			info!("[Config] [Initialize] Configuration initialized and merged successfully.");
38			Ok(())
39		},
40		Err(e) => {
41			error!("[Config] [Initialize] Failed: {}", e);
42			Err(format!("Failed to initialize and merge configurations: {}", e))
43		},
44	}
45}