summaryrefslogtreecommitdiff
path: root/src/database.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/database.rs')
-rw-r--r--src/database.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/database.rs b/src/database.rs
index 055d1ef..54f511f 100644
--- a/src/database.rs
+++ b/src/database.rs
@@ -128,6 +128,25 @@ impl TagDatabase {
.query_row(params![path, file_name], |row| Ok(row.get::<_, i64>(0)))??)
}
+ /// Return the `Image` struct for the image with `id`.
+ pub fn image_by_id(&self, id: i64) -> Result<Image> {
+ Ok(self
+ .0
+ .prepare(
+ "SELECT id, blake2, filename, orig_dir
+ FROM images
+ WHERE id = ?",
+ )?
+ .query_row(params![id], |row| {
+ Ok(Image {
+ id: row.get(0)?,
+ blake2: row.get(1)?,
+ filename: row.get(2)?,
+ orig_dir: row.get(3)?,
+ })
+ })?)
+ }
+
/// Associate `tag` with the image specified by `image_id`.
pub fn tag_image(&self, image_id: i64, tag: &str) -> Result<()> {
self.0.execute(