diff options
| author | Naz <ndpm13@ch-naseem.com> | 2025-07-30 07:09:37 +0100 |
|---|---|---|
| committer | Naz <ndpm13@ch-naseem.com> | 2025-07-30 07:09:37 +0100 |
| commit | 11a86042e73bb0eecad61ac6e636dd98563167f5 (patch) | |
| tree | b185168ceedb4f71b255e7e61a365566da41538d | |
| parent | 42fa16e58b8a1563650c54bf9eb55e7e9dcef11b (diff) | |
🔧refactor: move the list logic to PackageManager
| -rw-r--r-- | src/main.rs | 11 | ||||
| -rw-r--r-- | src/manager.rs | 13 |
2 files changed, 14 insertions, 10 deletions
diff --git a/src/main.rs b/src/main.rs index 2b588e0..1d9505b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,9 +1,8 @@ use std::path::PathBuf; use clap::Parser; -use tokio::fs; -use zap_rs::{AppImage, Cli, Command, PackageManager, Source, SourceMetadata, index_dir}; +use zap_rs::{AppImage, Cli, Command, PackageManager, Source, SourceMetadata}; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { @@ -27,13 +26,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> { pm.remove(&args.appname).await?; } Command::List => { - let mut appimages = fs::read_dir(index_dir()).await?; - - while let Some(appimage) = appimages.next_entry().await? { - if let Some(name) = appimage.file_name().to_str() { - println!("- {}", name.strip_suffix(".json").unwrap()); - } - } + pm.list().await?; } }; diff --git a/src/manager.rs b/src/manager.rs index 9257fa7..2c75900 100644 --- a/src/manager.rs +++ b/src/manager.rs @@ -1,6 +1,6 @@ use tokio::fs; -use crate::{AppImage, Downloader, Index, SymlinkManager}; +use crate::{AppImage, Downloader, Index, SymlinkManager, index_dir}; #[derive(Debug, Default)] pub struct PackageManager { @@ -46,4 +46,15 @@ impl PackageManager { Ok(()) } + pub async fn list(&self) -> Result<(), Box<dyn std::error::Error>> { + let mut appimages = fs::read_dir(index_dir()).await?; + + while let Some(appimage) = appimages.next_entry().await? { + if let Some(name) = appimage.file_name().to_str() { + println!("- {}", name.strip_suffix(".json").unwrap()); + } + } + + Ok(()) + } } |
