feat: add get_item_meta_name function to retrieve specific meta by name

This commit is contained in:
Andrew Phillips (aider)
2025-05-14 17:32:55 -03:00
parent 075c571e53
commit 2694000c9b

View File

@@ -433,3 +433,20 @@ pub fn get_item_meta(conn: &Connection, item: &Item) -> Result<Vec<Meta>> {
Ok(metas)
}
pub fn get_item_meta_name(conn: &Connection, item: &Item, name: String) -> Result<Option<Meta>> {
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),
}
}