diff options
Diffstat (limited to 'src/db/find_artifacts.rs')
-rw-r--r-- | src/db/find_artifacts.rs | 9 |
1 files changed, 9 insertions, 0 deletions
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 |