From 76ac38e4c1dc3d0f7a7f4058ffc570c91a1d1b83 Mon Sep 17 00:00:00 2001 From: Damien <damienostler1@outlook.com> Date: Sat, 22 Feb 2025 07:00:19 -0500 Subject: [PATCH] new files for crawler and model --- src-tauri/src/impl/folder_crawler.rs | 16 ++++++++++++++++ src-tauri/src/models/folder_data.rs | 13 +++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 src-tauri/src/impl/folder_crawler.rs create mode 100644 src-tauri/src/models/folder_data.rs diff --git a/src-tauri/src/impl/folder_crawler.rs b/src-tauri/src/impl/folder_crawler.rs new file mode 100644 index 0000000..ef17c65 --- /dev/null +++ b/src-tauri/src/impl/folder_crawler.rs @@ -0,0 +1,16 @@ +use models::folder_data::FolderData; +use std::fs; +use std::path::PathBuf; + +fn crawl(path: PathBuf) -> FolderData { + + /*initialize mutable variables for tracking information about the folder.*/ + let mut size = 0; // Total size of all the files and subfolders in the folder. + let mut subfolder_count = 0; // Total number of subfolders in the folder. + let mut file_count = 0; // Total number of files in the folder. + let mut children = Vec::new(); // Vector to store the child folder data + + if let Ok(entries) = fs::read_dir(&path) { + + } +} \ No newline at end of file diff --git a/src-tauri/src/models/folder_data.rs b/src-tauri/src/models/folder_data.rs new file mode 100644 index 0000000..eec0ff8 --- /dev/null +++ b/src-tauri/src/models/folder_data.rs @@ -0,0 +1,13 @@ +use serde::Serialize; + + +#[derive(Serialize)] +struct FolderData { + name: String, + path: String, + #[serde(rename = "type")] + folder_type: String, // Always "folder" in this case + size: u64, + subfolders: usize, + children: Vec<FolderData>, +}