pub struct ZoteroDb {
conn: Connection,
}Expand description
Read-only connection to Zotero’s main SQLite database.
Fields§
§conn: ConnectionImplementations§
Source§impl ZoteroDb
impl ZoteroDb
Sourcepub fn conn(&self) -> &Connection
pub fn conn(&self) -> &Connection
Access the underlying SQLite connection (for cross-database queries).
Sourcepub fn item_count(&self) -> Result<i64>
pub fn item_count(&self) -> Result<i64>
Count non-deleted, substantive items (excludes attachments/notes).
Sourcepub fn item_by_key(&self, key: &str) -> Result<Option<ZoteroItem>>
pub fn item_by_key(&self, key: &str) -> Result<Option<ZoteroItem>>
Get an item by its 8-char Zotero key (e.g., “9MS26VH5”).
Sourcepub fn search_items(
&self,
query: &str,
limit: usize,
) -> Result<Vec<(i64, String)>>
pub fn search_items( &self, query: &str, limit: usize, ) -> Result<Vec<(i64, String)>>
Search items by title, DOI, or abstract (LIKE query).
This is a brute-force scan (~8ms on 2700 items). For better performance, we could add FTS5, but this is already 100x faster than the BBT RPC path.
Sourcepub fn recent_items(&self, limit: usize) -> Result<Vec<(i64, String)>>
pub fn recent_items(&self, limit: usize) -> Result<Vec<(i64, String)>>
Get recently modified items.
Sourcepub fn item_metadata(&self, item_id: i64) -> Result<HashMap<String, String>>
pub fn item_metadata(&self, item_id: i64) -> Result<HashMap<String, String>>
Get all metadata fields for an item as a key-value map.
Joins through the EAV schema: itemData → fields + itemDataValues.
Sourcepub fn item_creators(&self, item_id: i64) -> Result<Vec<Creator>>
pub fn item_creators(&self, item_id: i64) -> Result<Vec<Creator>>
Get creators (authors/editors) for an item, ordered.
Get tags for an item.
Sourcepub fn collections(&self) -> Result<Vec<Collection>>
pub fn collections(&self) -> Result<Vec<Collection>>
List all collections with their hierarchy.
Sourcepub fn collection_items(
&self,
collection_key: &str,
limit: usize,
) -> Result<Vec<(i64, String)>>
pub fn collection_items( &self, collection_key: &str, limit: usize, ) -> Result<Vec<(i64, String)>>
Get item keys in a collection.
Sourcepub fn item_attachments(&self, item_id: i64) -> Result<Vec<Attachment>>
pub fn item_attachments(&self, item_id: i64) -> Result<Vec<Attachment>>
Get attachments for an item, including content hash.
The storage_hash field is an MD5 hash computed by Zotero on import.
External tools can use it for content-identity verification and
deduplication without Biblion needing to know about consumers.
Sourcepub fn collection_count(&self) -> Result<i64>
pub fn collection_count(&self) -> Result<i64>
Count collections.