summaryrefslogtreecommitdiffstats
path: root/src/db/find_artifacts.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/find_artifacts.rs')
-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