diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-04-22 09:33:25 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-04-22 10:15:55 +0200 |
commit | fa985942c06d1ddcc5ae51681e10b5bc05d8ff75 (patch) | |
tree | b1841eabf5ef8fc4d50e0159cbba4b06cb1521ee | |
parent | 38b6ded40c6d840c9d3951f0a082cd55b1b0109c (diff) |
Refactor: submit_to_vec later
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
-rw-r--r-- | src/commands/db.rs | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/src/commands/db.rs b/src/commands/db.rs index ba66c14..dde8827 100644 --- a/src/commands/db.rs +++ b/src/commands/db.rs @@ -234,15 +234,6 @@ fn submits(conn_cfg: DbConnectionConfig, matches: &ArgMatches) -> Result<()> { let hdrs = crate::commands::util::mk_header(vec!["id", "time", "uuid"]); let conn = crate::db::establish_connection(conn_cfg)?; - // Helper to map Submit -> Vec<String> - let submit_to_vec = |submit: models::Submit| { - vec![ - format!("{}", submit.id), - submit.submit_time.to_string(), - submit.uuid.to_string(), - ] - }; - // Helper to get all submits that were made _for_ a package let submits_for = |pkgname: &str| { schema::submits::table @@ -252,7 +243,7 @@ fn submits(conn_cfg: DbConnectionConfig, matches: &ArgMatches) -> Result<()> { .load::<models::Submit>(&conn) }; - let data = if let Some(pkgname) = matches.value_of("with_pkg").map(String::from) { + let submits = if let Some(pkgname) = matches.value_of("with_pkg").map(String::from) { // Get all submits which included the package, but were not made _for_ the package let submits_with_pkg = schema::packages::table .filter(schema::packages::name.eq(&pkgname)) @@ -265,23 +256,27 @@ fn submits(conn_cfg: DbConnectionConfig, matches: &ArgMatches) -> Result<()> { submits_with_pkg .into_iter() .chain(submits_for_pkg.into_iter()) - .map(submit_to_vec) - .collect::<Vec<_>>() + .collect() } else if let Some(pkgname) = matches.value_of("for_pkg") { // Get all submits _for_ the package submits_for(pkgname)? - .into_iter() - .map(submit_to_vec) - .collect::<Vec<_>>() } else { // default: Get all submits schema::submits::table .load::<models::Submit>(&conn)? - .into_iter() - .map(submit_to_vec) - .collect::<Vec<_>>() }; + // Helper to map Submit -> Vec<String> + let submit_to_vec = |submit: models::Submit| { + vec![ + format!("{}", submit.id), + submit.submit_time.to_string(), + submit.uuid.to_string(), + ] + }; + + let data = submits.into_iter().map(submit_to_vec).collect::<Vec<_>>(); + if data.is_empty() { info!("No submits in database"); } else { |