From 11a86042e73bb0eecad61ac6e636dd98563167f5 Mon Sep 17 00:00:00 2001 From: Naz Date: Wed, 30 Jul 2025 07:09:37 +0100 Subject: =?UTF-8?q?=F0=9F=94=A7refactor:=20move=20the=20list=20logic=20to?= =?UTF-8?q?=20PackageManager?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main.rs | 11 ++--------- src/manager.rs | 13 ++++++++++++- 2 files changed, 14 insertions(+), 10 deletions(-) (limited to 'src') 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> { @@ -27,13 +26,7 @@ async fn main() -> Result<(), Box> { 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 { @@ -44,6 +44,17 @@ impl PackageManager { self.symlink_manager.remove(&appimage.executable).await?; self.index.remove(appname).await?; + Ok(()) + } + pub async fn list(&self) -> Result<(), Box> { + 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(()) } } -- cgit v1.2.3