diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2020-11-05 11:53:05 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2020-11-05 11:53:22 +0100 |
commit | 51c0e6284fbf8e1ea2184a6cd279fd9bbe4ed293 (patch) | |
tree | 85d8c12f79525b574e9ed88dc3d1a4a5f569f34d /src/main.rs | |
parent | c2e2e949f4edb97aa4dde6a9e7f8e5b6f2699243 (diff) |
Add inserting of image name into database
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs index f46ce9c..c8e1c84 100644 --- a/src/main.rs +++ b/src/main.rs @@ -121,6 +121,7 @@ async fn build<'a>(matches: &ArgMatches, use crate::db::models::{Package, NewPackage}; use schema::packages; use schema::githashes; + use schema::images; let release_dir = async move { let variables = BTreeMap::new(); @@ -176,6 +177,8 @@ async fn build<'a>(matches: &ArgMatches, tree.add_package(package.clone(), &repo, bar_tree_building.clone())?; bar_tree_building.finish_with_message("Finished loading Tree"); + let image_name = matches.value_of("image").unwrap(); // safe by clap + let db_package = { use crate::schema::packages::*; @@ -214,6 +217,24 @@ async fn build<'a>(matches: &ArgMatches, .load::<crate::db::models::GitHash>(&database_connection)? }; + let db_image = { + use crate::schema::images::*; + use crate::db::models::NewImage; + + let new_image = NewImage { name: &image_name }; + + diesel::insert_into(images::table) + .values(&new_image) + .on_conflict_do_nothing() + .execute(&database_connection)?; + + crate::schema::images::dsl::images + .filter(name.eq(&image_name)) + .limit(1) + .load::<crate::db::models::Image>(&database_connection)? + }; + + Ok(()) } |