From 57f2f9f21a82a8b13c544d62d353894eb3e0a4c7 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Mon, 18 May 2020 11:25:02 -0400 Subject: Implement `add_tag`. --- src/main.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main.rs b/src/main.rs index ed0965c..2739f42 100644 --- a/src/main.rs +++ b/src/main.rs @@ -81,6 +81,19 @@ impl TagBase { .collect(); Ok(*id[0].as_ref().unwrap()) } + + /// Insert `tag` into the database, if it does not already exist. + fn add_tag(&self, tag: &str) -> Result<()> { + let exists = self + .conn + .prepare("SELECT * FROM tags WHERE name = ?")? + .exists(params![tag]); + if let Err(_) = exists { + self.conn + .execute("INSERT INTO tags (name) VALUES(?)", params![tag])?; + } + Ok(()) + } } fn main() { -- cgit v1.3