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>,
+}