]> git.proxmox.com Git - proxmox-backup.git/commitdiff
apt: use typed response for get_versions
authorStefan Reiter <s.reiter@proxmox.com>
Thu, 12 Nov 2020 09:12:54 +0000 (10:12 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 12 Nov 2020 09:15:32 +0000 (10:15 +0100)
...and cleanup get_versions for manager CLI.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
src/api2/node/apt.rs
src/bin/proxmox-backup-manager.rs

index 500b2309a10b037edaa2acc0168acfdd6115da74..765ea52510c6bece8ded95a7a9acfa242b5ca207 100644 (file)
@@ -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 = &[
index 84ec0148fbc2be7e1b9be2ca527c589671313eee..80e699f107802d6b865a7722f77a4b72ea8aac2b 100644 (file)
@@ -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(&param);
 
-    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()