From 74a74d0946b9f4aed7ab061a7e1b93f4f2b0310b Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Mon, 30 Aug 2021 13:09:08 +0200 Subject: Add support for filtering by image name Signed-off-by: Matthias Beyer --- src/db/find_artifacts.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/db/find_artifacts.rs b/src/db/find_artifacts.rs index f5928f0..8974973 100644 --- a/src/db/find_artifacts.rs +++ b/src/db/find_artifacts.rs @@ -35,6 +35,7 @@ use crate::package::ScriptBuilder; use crate::package::Shebang; use crate::schema; use crate::util::EnvironmentVariableName; +use crate::util::docker::ImageName; /// Find an artifact by a job description /// @@ -69,6 +70,10 @@ pub struct FindArtifacts<'a> { /// Filter for these environment variables env_filter: &'a [(EnvironmentVariableName, String)], + /// Filter for image name + #[builder(default)] + image_name: Option<&'a ImageName>, + /// Search for this package package: &'a Package, } @@ -133,6 +138,10 @@ impl<'a> FindArtifacts<'a> { query = query.filter(schema::jobs::script_text.eq(script_text.as_ref())); } + if let Some(image_name) = self.image_name.as_ref() { + query = query.filter(schema::images::name.eq(image_name.as_ref())); + } + trace!("Query = {}", diesel::debug_query(&query)); query -- cgit v1.2.3