Mountain/IPC/WindServiceHandlers/Extensions/
ExtensionsGetAll.rs1
2use std::sync::Arc;
10
11use CommonLibrary::ExtensionManagement::ExtensionManagementService::ExtensionManagementService;
12use serde_json::{Value, json};
13
14use crate::{RunTime::ApplicationRunTime::ApplicationRunTime, dev_log};
15
16pub async fn Fn(RunTime:Arc<ApplicationRunTime>) -> Result<Value, String> {
17 let Extensions = RunTime
18 .Environment
19 .GetExtensions()
20 .await
21 .map_err(|Error| format!("extensions:getAll failed: {}", Error))?;
22
23 dev_log!("extensions", "extensions:getAll returning {} extensions", Extensions.len());
24
25 if let Some(First) = Extensions.first() {
26 dev_log!(
27 "extensions",
28 "extensions:getAll sample: {}",
29 serde_json::to_string(First)
30 .unwrap_or_default()
31 .chars()
32 .take(300)
33 .collect::<String>()
34 );
35 }
36
37 Ok(json!(Extensions))
38}