[pbs-devel] [PATCH proxmox-backup] apt: use typed response for get_versions
Stefan Reiter
s.reiter at proxmox.com
Thu Nov 12 10:12:54 CET 2020
...and cleanup get_versions for manager CLI.
Signed-off-by: Stefan Reiter <s.reiter at proxmox.com>
---
No need to return an untyped Value, especially if we want to further work with
it, so how about this for a cleanup?
src/api2/node/apt.rs | 4 ++--
src/bin/proxmox-backup-manager.rs | 10 ++--------
2 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/src/api2/node/apt.rs b/src/api2/node/apt.rs
index 500b2309..765ea525 100644
--- a/src/api2/node/apt.rs
+++ b/src/api2/node/apt.rs
@@ -261,7 +261,7 @@ fn apt_get_changelog(
},
)]
/// Get package information for important Proxmox Backup Server packages.
-pub fn get_versions() -> Result<Value, Error> {
+pub fn get_versions() -> Result<Vec<APTUpdateInfo>, Error> {
const PACKAGES: &[&str] = &[
"ifupdown2",
"libjs-extjs",
@@ -350,7 +350,7 @@ pub fn get_versions() -> Result<Value, Error> {
}
}
- Ok(json!(packages))
+ Ok(packages)
}
const SUBDIRS: SubdirMap = &[
diff --git a/src/bin/proxmox-backup-manager.rs b/src/bin/proxmox-backup-manager.rs
index 84ec0148..80e699f1 100644
--- a/src/bin/proxmox-backup-manager.rs
+++ b/src/bin/proxmox-backup-manager.rs
@@ -383,14 +383,8 @@ async fn report() -> Result<Value, Error> {
async fn get_versions(verbose: bool, param: Value) -> Result<Value, Error> {
let output_format = get_output_format(¶m);
- let mut packages = if verbose {
- crate::api2::node::apt::get_versions()?
- } else {
- // TODO: slice first element out in a nicer way?
- let packages = crate::api2::node::apt::get_versions()?;
- let packages = packages.as_array().unwrap();
- Value::Array(vec![packages[0].to_owned()])
- };
+ let packages = crate::api2::node::apt::get_versions()?;
+ let mut packages = json!(if verbose { &packages[..] } else { &packages[0..1] });
let options = default_table_format_options()
.disable_sort()
--
2.20.1
More information about the pbs-devel
mailing list