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)
|
||||
}
|
||||
|
||||
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