Mountain/Binary/IPC/
ConfigurationStatusCommand.rs

1//! # ConfigurationStatusCommand
2//!
3//! Retrieves the current configuration status.
4//!
5//! ## RESPONSIBILITIES
6//!
7//! ### Status Query
8//! - Get current configuration state
9//! - Report configuration source status
10//! - Return validation results
11//! - Indicate pending changes
12//!
13//! ## ARCHITECTURAL ROLE
14//!
15//! ### Position in Mountain
16//! - IPC wrapper command in Binary subsystem
17//! - Configuration status endpoint
18//!
19//! ### Dependencies
20//! - crate::IPC::ConfigurationBridge: Status queries
21//! - tauri: IPC framework
22//! - serde_json: JSON serialization
23//!
24//! ### Dependents
25//! - Wind frontend: Queries configuration status
26//! - Tauri IPC handler: Routes status requests
27//!
28//! ## SECURITY
29//!
30//! ### Considerations
31//! - Status is read-only, no security impact
32//!
33//! ## PERFORMANCE
34//!
35//! ### Considerations
36//! - Status query is typically fast, in-memory
37//! - Cache results if computed value
38
39use serde_json::Value;
40use tauri::AppHandle;
41
42/// Get configuration status.
43///
44/// This command retrieves the current status of the configuration
45/// including validation state and pending changes.
46///
47/// # Arguments
48///
49/// * `app_handle` - Tauri application handle
50///
51/// # Returns
52///
53/// Returns a JSON object with configuration status, or an error string.
54///
55/// # Errors
56///
57/// Returns an error if:
58/// - Status cannot be retrieved
59#[tauri::command]
60pub async fn MountainGetConfigurationStatus(app_handle:AppHandle) -> Result<Value, String> {
61	crate::IPC::ConfigurationBridge::mountain_get_configuration_status(app_handle).await
62}