pub struct InstalledPluginView {
pub id: String,
pub name: Option<String>,
pub version: String,
pub source: PluginSource,
pub status: PluginInstallStatus,
pub registered: RegisteredCapabilities,
pub service_status: Vec<ServiceStatusView>,
}Expand description
GET /plugins element, and the body of a successful install/update
response.
Known, accepted gap: source (a PluginSource) echoes back the
caller-supplied LocalDir/LocalArchive path VERBATIM, including its
absolute filesystem path, to any caller of this authenticated/local-only
HTTP surface. That’s a minor local-path disclosure, not a vulnerability on
its own here — this API has no remote/multi-tenant exposure today — but
worth remembering if this surface is ever opened up further (at which
point to_view would need to redact/omit source’s path for non-owners).
Fields§
§id: String§name: Option<String>Best-effort — see [to_view]. Omitted (not null) when unavailable.
version: String§source: PluginSource§status: PluginInstallStatus§registered: RegisteredCapabilities§service_status: Vec<ServiceStatusView>Live ServiceManager status for each id in registered.service_ids
(issue #479). Populated from the SAME ServiceManager snapshot the
list handler reads — see [to_view]. Empty for a plugin with no
services (the common case), same shape/emptiness convention as
registered’s other Vec fields.
Trait Implementations§
Source§impl Clone for InstalledPluginView
impl Clone for InstalledPluginView
Source§fn clone(&self) -> InstalledPluginView
fn clone(&self) -> InstalledPluginView
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more