summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakob L. Kreuze <zerodaysfordays@sdf.org>2020-05-18 12:10:49 -0400
committerJakob L. Kreuze <zerodaysfordays@sdf.org>2020-05-18 12:10:49 -0400
commit83f7e53cf4b84bc26101e57b27b4dac0a32a19cc (patch)
tree10c426971878f3b87379e98e510410b1ac9063e7 /src
parentd831a9340652f8a259c0764788b8914b6204beac (diff)
Implement `tags_for_image`.
Diffstat (limited to 'src')
-rw-r--r--src/main.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs
index 3e821c2..3e66f9a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -101,6 +101,21 @@ impl TagBase {
)?;
Ok(())
}
+
+ fn tags_for_image(&self, image_id: i64) -> Result<Vec<String>> {
+ Ok(self
+ .conn
+ .prepare(
+ "SELECT tags.name, COUNT(mapping.tag) as tag_count
+ FROM mapping
+ INNER JOIN images ON images.id = ?
+ INNER JOIN tags
+ GROUP BY tags.name",
+ )?
+ .query_map(params![image_id], |row| row.get(0))?
+ .filter_map(|tag| tag.ok())
+ .collect())
+ }
}
fn main() {