refactor: reorganize file operations and extract test modules

- Extract mover and undo functionality into dedicated modules (mover/ and undo/ subdirectories)
- Move cross-platform file operations to separate file_ops.rs module for reusability
- Extract batch and categorizer tests into separate test files (batch_test.rs, categorizer_test.rs)
- Refactor orchestrator.rs with extracted helper functions for improved readability
  - Separate cache and undo log initialization
  - Extract path resolution and offline mode determination logic
  - Simplify main organization flow by delegating to helper functions
- Update module exports to expose new types and functions (MoveError, MoveSummary, UndoError, UndoSummary)
- Reduce code duplication of move_file_cross_platform implementation
This commit is contained in:
2026-01-10 21:08:00 +05:30
parent 263f938734
commit 10e508fa0e
22 changed files with 789 additions and 470 deletions

View File

@@ -6,7 +6,10 @@ pub mod settings;
pub mod storage;
pub use cli::Args;
pub use files::{FileBatch, execute_move, is_text_file, read_file_sample, undo_moves};
pub use files::{
FileBatch, MoveError, MoveSummary, execute_move, execute_move_auto, is_text_file,
read_file_sample, undo_moves,
};
pub use gemini::GeminiClient;
pub use gemini::GeminiError;
pub use models::{FileCategory, FileMoveRecord, MoveStatus, OrganizationPlan};