diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-01-15 23:16:18 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2021-01-15 23:16:18 +0100 |
commit | 4cf5a22ad1b0f5bf8f4e2c06c689ad40230e4387 (patch) | |
tree | b5b5ee7f0da306c86cf255a3bb61a7c55ccb43de /src/commands/db.rs | |
parent | 4ef85ea2d5584d673b5abc6723b6a8b3db8a48d3 (diff) | |
parent | 8c94e002e0ec2ea46d37e8ddf9a678fffe645d62 (diff) |
Merge branch 'released-artifacts'
Diffstat (limited to 'src/commands/db.rs')
-rw-r--r-- | src/commands/db.rs | 11 |
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() { |