Skip to main content

DevelopmentNodeEnvironment_MicrosoftVSCodeDependency_22NodeVersion_Bundle_Clean_Debug_ElectronProfile_EsbuildCompiler_Mountain/IPC/WindServiceHandlers/Extensions/
ExtensionsGetAll.rs

1//! `extensions:getAll` - every scanned extension's raw
2//! manifest, no `ILocalExtension` reshape. Used by tooling /
3//! debug surfaces that want the full payload (extension
4//! activity log, marketplace UI, audit reports). Renderer
5//! consumers MUST go through `ExtensionsGetInstalled` for the
6//! workbench-shaped data.
7
8use std::sync::Arc;
9
10use CommonLibrary::ExtensionManagement::ExtensionManagementService::ExtensionManagementService;
11use serde_json::{Value, json};
12
13use crate::{RunTime::ApplicationRunTime::ApplicationRunTime, dev_log};
14
15pub async fn Fn(RunTime:Arc<ApplicationRunTime>) -> Result<Value, String> {
16	let Extensions = RunTime
17		.Environment
18		.GetExtensions()
19		.await
20		.map_err(|Error| format!("extensions:getAll failed: {}", Error))?;
21
22	dev_log!("extensions", "extensions:getAll returning {} extensions", Extensions.len());
23
24	if let Some(First) = Extensions.first() {
25		dev_log!(
26			"extensions",
27			"extensions:getAll sample: {}",
28			serde_json::to_string(First)
29				.unwrap_or_default()
30				.chars()
31				.take(300)
32				.collect::<String>()
33		);
34	}
35
36	Ok(json!(Extensions))
37}