diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-06-02 13:03:25 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-06-02 13:17:59 +0200 |
commit | 1e77f45fc8649b3fbb9e17bd6a5e262617abcc33 (patch) | |
tree | c85429100c81c5661194d7764a5b13c78217fb91 /src/commands/db.rs | |
parent | 8cd7b44501d2843cfb2d9307ae2b83db15092028 (diff) |
Subcommand "db releases" add date filter
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
Diffstat (limited to 'src/commands/db.rs')
-rw-r--r-- | src/commands/db.rs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/commands/db.rs b/src/commands/db.rs index ac3b53f..24450f7 100644 --- a/src/commands/db.rs +++ b/src/commands/db.rs @@ -691,7 +691,7 @@ fn releases(conn_cfg: DbConnectionConfig<'_>, config: &Configuration, matches: & let csv = matches.is_present("csv"); let conn = conn_cfg.establish_connection()?; let header = crate::commands::util::mk_header(["Package", "Version", "Date", "Path"].to_vec()); - let data = schema::jobs::table + let mut query = schema::jobs::table .inner_join(schema::packages::table) .inner_join(schema::artifacts::table) .inner_join(schema::releases::table @@ -701,6 +701,17 @@ fn releases(conn_cfg: DbConnectionConfig<'_>, config: &Configuration, matches: & .order_by(schema::packages::dsl::name.asc()) .then_order_by(schema::packages::dsl::version.asc()) .then_order_by(schema::releases::release_date.asc()) + .into_boxed(); + + if let Some(date) = crate::commands::util::get_date_filter("older_than", matches)? { + query = query.filter(schema::releases::release_date.lt(date)); + } + + if let Some(date) = crate::commands::util::get_date_filter("newer_than", matches)? { + query = query.filter(schema::releases::release_date.gt(date)); + } + + let data = query .select({ let art = schema::artifacts::all_columns; let pac = schema::packages::all_columns; |