DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/WindServiceHandlers/NativeHost/
GetEnvironmentPaths.rs1#![allow(non_snake_case, unused_variables, dead_code, unused_imports)]
2
3use serde_json::{Value, json};
9use tauri::{AppHandle, Manager};
10
11pub async fn NativeGetEnvironmentPaths(ApplicationHandle:AppHandle) -> Result<Value, String> {
12 let PathResolver = ApplicationHandle.path();
13 let AppDataDir = PathResolver.app_data_dir().unwrap_or_default();
14 let HomeDir = PathResolver.home_dir().unwrap_or_default();
15 let TmpDir = std::env::temp_dir();
16
17 let SessionLogRoot = AppDataDir.join("logs").join(crate::IPC::DevLog::SessionTimestamp::Fn());
24 let SessionLogWindowDir = SessionLogRoot.join("window1");
25 let _ = std::fs::create_dir_all(&SessionLogWindowDir);
26
27 crate::dev_log!(
28 "config",
29 "getEnvironmentPaths: userDataDir={} logsPath={} homeDir={}",
30 AppDataDir.display(),
31 SessionLogRoot.display(),
32 HomeDir.display()
33 );
34 let DevLogEnv = std::env::var("Trace").unwrap_or_default();
35 Ok(json!({
36 "userDataDir": AppDataDir.to_string_lossy(),
37 "logsPath": SessionLogRoot.to_string_lossy(),
38 "homeDir": HomeDir.to_string_lossy(),
39 "tmpDir": TmpDir.to_string_lossy(),
40 "devLog": if DevLogEnv.is_empty() { Value::Null } else { json!(DevLogEnv) },
41 }))
42}