Skip to main content

Mountain/IPC/WindServiceHandlers/Configuration/
Workbench.rs

1#![allow(unused_variables, dead_code, unused_imports)]
2
3//! Wire method: `workbench:getConfigurationValue`.
4
5use std::sync::Arc;
6
7use serde_json::Value;
8
9use crate::{RunTime::ApplicationRunTime::ApplicationRunTime, dev_log};
10
11pub async fn Fn(RunTime:Arc<ApplicationRunTime>, _Arguments:Vec<Value>) -> Result<Value, String> {
12	use CommonLibrary::{
13		Configuration::{
14			ConfigurationProvider::ConfigurationProvider,
15			DTO::ConfigurationOverridesDTO::ConfigurationOverridesDTO,
16		},
17		Environment::Requires::Requires,
18	};
19
20	let provider:Arc<dyn ConfigurationProvider> = RunTime.Environment.Require();
21
22	let config = provider
23		.GetConfigurationValue(None, ConfigurationOverridesDTO::default())
24		.await
25		.map_err(|Error| format!("Failed to get workbench configuration: {}", Error))?;
26
27	dev_log!("config", "workbench config retrieved");
28
29	Ok(config)
30}