summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-08-30 13:09:08 +0200
committerMatthias Beyer <matthias.beyer@atos.net>2021-09-06 11:15:07 +0200
commit74a74d0946b9f4aed7ab061a7e1b93f4f2b0310b (patch)
tree7f4f54d3dcbfb046ba2413e2f72297091e1dc897
parent72d211ed02a60a7aa7e13e52fad43ea504dc4d5c (diff)
Add support for filtering by image name
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r--src/db/find_artifacts.rs9
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