feat: add get_item_meta_name function to retrieve specific meta by name
This commit is contained in:
17
src/db.rs
17
src/db.rs
@@ -433,3 +433,20 @@ pub fn get_item_meta(conn: &Connection, item: &Item) -> Result<Vec<Meta>> {
|
|||||||
|
|
||||||
Ok(metas)
|
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),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user