From 2694000c9b3e5866d7dee13a11eaee1d8c5c00a6 Mon Sep 17 00:00:00 2001 From: "Andrew Phillips (aider)" Date: Wed, 14 May 2025 17:32:55 -0300 Subject: [PATCH] feat: add get_item_meta_name function to retrieve specific meta by name --- src/db.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/db.rs b/src/db.rs index 28af934..2f80f67 100644 --- a/src/db.rs +++ b/src/db.rs @@ -433,3 +433,20 @@ pub fn get_item_meta(conn: &Connection, item: &Item) -> Result> { Ok(metas) } + +pub fn get_item_meta_name(conn: &Connection, item: &Item, name: String) -> Result> { + debug!("DB: Getting item meta name: {:?} {:?}", item, name); + let mut statement = conn + .prepare_cached("SELECT id, name, value FROM metas WHERE id=?1 AND name=?2") + .context("Problem preparing SQL statement")?; + let mut rows = statement.query([item.id, name])?; + + match rows.next()? { + Some(row) => Ok(Some(Meta { + id: row.get(0)?, + name: row.get(1)?, + value: row.get(2)?, + })), + None => Ok(None), + } +}