diff --git a/src/services/item_service.rs b/src/services/item_service.rs index 4d2bf4c..c40f8f5 100644 --- a/src/services/item_service.rs +++ b/src/services/item_service.rs @@ -304,6 +304,8 @@ impl ItemService { content: &[u8], tags: &Vec, metadata: &HashMap, + cmd: &mut Command, + settings: &Settings, conn: &mut Connection, ) -> Result { debug!("ITEM_SERVICE: Starting save_item_from_mcp with {} bytes, {} tags, {} metadata entries", @@ -340,24 +342,13 @@ impl ItemService { writer.write_all(content)?; drop(writer); - let plugin_types = vec![ - MetaPluginType::Digest, - MetaPluginType::User, - MetaPluginType::Hostname, - ]; - - let mut plugins: Vec> = plugin_types - .iter() - .map(|p| crate::meta_plugin::get_meta_plugin(p.clone(), None, None)) - .collect(); - debug!("ITEM_SERVICE: Created {} meta plugins for MCP item", plugins.len()); - - self.meta_service - .initialize_plugins(&mut plugins, conn, item_id); - self.meta_service - .process_chunk(&mut plugins, content, conn, item_id); + let mut plugins = self.meta_service.get_plugins(cmd, settings); + debug!("ITEM_SERVICE: Got {} configured meta plugins for MCP item", plugins.len()); + + self.meta_service.initialize_plugins(&mut plugins, conn, item_id); + self.meta_service.process_chunk(&mut plugins, content, conn, item_id); self.meta_service.finalize_plugins(&mut plugins, conn, item_id); - debug!("ITEM_SERVICE: Processed MCP item through meta plugins"); + debug!("ITEM_SERVICE: Processed MCP item through configured meta plugins"); item.size = Some(content.len() as i64); db::update_item(conn, item.clone())?;