summaryrefslogtreecommitdiff
path: root/src/manager.rs
diff options
context:
space:
mode:
authorNaz <ndpm13@ch-naseem.com>2025-07-30 07:09:37 +0100
committerNaz <ndpm13@ch-naseem.com>2025-07-30 07:09:37 +0100
commit11a86042e73bb0eecad61ac6e636dd98563167f5 (patch)
treeb185168ceedb4f71b255e7e61a365566da41538d /src/manager.rs
parent42fa16e58b8a1563650c54bf9eb55e7e9dcef11b (diff)
🔧refactor: move the list logic to PackageManager
Diffstat (limited to 'src/manager.rs')
-rw-r--r--src/manager.rs13
1 files changed, 12 insertions, 1 deletions
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(())
+ }
}