From fa985942c06d1ddcc5ae51681e10b5bc05d8ff75 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Thu, 22 Apr 2021 09:33:25 +0200 Subject: Refactor: submit_to_vec later Signed-off-by: Matthias Beyer --- src/commands/db.rs | 31 +++++++++++++------------------ 1 file 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 - 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::(&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::>() + .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::>() } else { // default: Get all submits schema::submits::table .load::(&conn)? - .into_iter() - .map(submit_to_vec) - .collect::>() }; + // Helper to map Submit -> Vec + 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::>(); + if data.is_empty() { info!("No submits in database"); } else { -- cgit v1.2.3