summaryrefslogtreecommitdiffstats
path: root/src/commands/db.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2021-01-15 23:16:18 +0100
committerMatthias Beyer <mail@beyermatthias.de>2021-01-15 23:16:18 +0100
commit4cf5a22ad1b0f5bf8f4e2c06c689ad40230e4387 (patch)
treeb5b5ee7f0da306c86cf255a3bb61a7c55ccb43de /src/commands/db.rs
parent4ef85ea2d5584d673b5abc6723b6a8b3db8a48d3 (diff)
parent8c94e002e0ec2ea46d37e8ddf9a678fffe645d62 (diff)
Merge branch 'released-artifacts'
Diffstat (limited to 'src/commands/db.rs')
-rw-r--r--src/commands/db.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/commands/db.rs b/src/commands/db.rs
index 701f659..ed6360f 100644
--- a/src/commands/db.rs
+++ b/src/commands/db.rs
@@ -149,18 +149,23 @@ fn artifacts(conn_cfg: DbConnectionConfig, matches: &ArgMatches) -> Result<()> {
.map(|job_uuid| -> Result<_> {
dsl::artifacts
.inner_join(schema::jobs::table)
+ .left_join(schema::releases::table)
.filter(schema::jobs::dsl::uuid.eq(job_uuid))
- .load::<(models::Artifact, models::Job)>(&conn)
+ .load::<(models::Artifact, models::Job, Option<models::Release>)>(&conn)
.map_err(Error::from)
})
.unwrap_or_else(|| {
dsl::artifacts
.inner_join(schema::jobs::table)
- .load::<(models::Artifact, models::Job)>(&conn)
+ .left_join(schema::releases::table)
+ .load::<(models::Artifact, models::Job, Option<models::Release>)>(&conn)
.map_err(Error::from)
})?
.into_iter()
- .map(|(artifact, job)| vec![format!("{}", artifact.id), artifact.path, artifact.released.to_string(), job.uuid.to_string()])
+ .map(|(artifact, job, rel)| {
+ let rel = rel.map(|r| r.release_date.to_string()).unwrap_or_else(|| String::from("no"));
+ vec![format!("{}", artifact.id), artifact.path, rel, job.uuid.to_string()]
+ })
.collect::<Vec<_>>();
if data.is_empty() {