MCPcopy Create free account
hub / github.com/Sompote/TigrimOSR / toggle_plugin

Function toggle_plugin

src/server/services/plugin.rs:388–416  ·  view source on GitHub ↗
(id: &str, enabled: bool)

Source from the content-addressed store, hash-verified

386// ---------------------------------------------------------------------------
387
388pub async fn toggle_plugin(id: &str, enabled: bool) -> Result<InstalledPlugin, String> {
389 let mut plugins = get_plugins().await;
390 let plugin = plugins.iter_mut().find(|p| p.id == id)
391 .ok_or_else(|| format!("Plugin '{}' not found", id))?;
392 plugin.enabled = enabled;
393
394 // Toggle skills
395 let source_tag = format!("plugin:{}", id);
396 let mut skills = get_skills().await;
397 for skill in &mut skills {
398 if skill.source == source_tag {
399 skill.enabled = enabled;
400 }
401 }
402 save_skills(&skills).await;
403
404 // Toggle MCP tools
405 let mut settings = get_settings().await;
406 for mcp_name in &plugin.mcp_names {
407 if let Some(mcp) = settings.mcp_tools.iter_mut().find(|m| m.name == *mcp_name) {
408 mcp.enabled = enabled;
409 }
410 }
411 save_settings(&settings).await;
412
413 let result = plugin.clone();
414 save_plugins(&plugins).await;
415 Ok(result)
416}
417
418// ---------------------------------------------------------------------------
419// Query

Callers 1

section_pluginsMethod · 0.50

Calls 6

get_pluginsFunction · 0.85
get_skillsFunction · 0.85
save_skillsFunction · 0.85
get_settingsFunction · 0.85
save_settingsFunction · 0.85
save_pluginsFunction · 0.85

Tested by

no test coverage detected