diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-08-30 13:09:08 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-09-06 11:15:07 +0200 |
commit | 74a74d0946b9f4aed7ab061a7e1b93f4f2b0310b (patch) | |
tree | 7f4f54d3dcbfb046ba2413e2f72297091e1dc897 | |
parent | 72d211ed02a60a7aa7e13e52fad43ea504dc4d5c (diff) |
Add support for filtering by image name
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-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 |