docs: Add comprehensive rustdoc to item_service.rs

Co-authored-by: aider (openai/andrew/openrouter/sonoma-sky-alpha) <aider@aider.chat>
This commit is contained in:
Andrew Phillips
2025-09-10 12:47:20 -03:00
parent c145974ce3
commit c199590b3c

View File

@@ -406,6 +406,36 @@ impl ItemService {
Ok(item_id)
}
/// Saves pre-loaded content as a new item, typically from MCP (Machine-Common-Processing) sources.
///
/// Bypasses streaming read, directly writes content and applies metadata/plugins.
///
/// # Arguments
///
/// * `content` - Byte slice of content to save.
/// * `tags` - Tags to associate.
/// * `metadata` - Initial metadata key-value pairs.
/// * `cmd` - Mutable command.
/// * `settings` - Settings.
/// * `conn` - Mutable database connection.
///
/// # Returns
///
/// * `Result<ItemWithMeta, CoreError>` - The saved item with full details.
///
/// # Errors
///
/// * `CoreError::Database(...)` - If DB insert fails.
/// * `CoreError::Io(...)` - If file write fails.
///
/// # Examples
///
/// ```
/// let content = b"Hello, world!";
/// let tags = vec!["mcp".to_string()];
/// let meta = HashMap::from([("source".to_string(), "api".to_string())]);
/// let item = service.save_item_from_mcp(content, &tags, &meta, &mut cmd, &settings, &mut conn)?;
/// ```
pub fn save_item_from_mcp(
&self,
content: &[u8],
@@ -465,10 +495,20 @@ impl ItemService {
self.get_item(conn, item_id)
}
/// Returns a reference to the internal compression service.
///
/// # Returns
///
/// Reference to `CompressionService`.
pub fn get_compression_service(&self) -> &CompressionService {
&self.compression_service
}
/// Returns a reference to the data directory path.
///
/// # Returns
///
/// Reference to `PathBuf`.
pub fn get_data_path(&self) -> &PathBuf {
&self.data_path
}