use std::ffi::OsString;
use std::path::PathBuf;
use uuid::Uuid;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ItemKind {
File,
Dir,
Symlink,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum DateKind {
MonthOnly,
DateOnly,
DateTime,
}
#[derive(Debug, Clone)]
pub struct DetectedDate {
pub byte_span: std::ops::Range<usize>,
pub parsed: chrono::NaiveDateTime,
pub original_format: &'static str,
pub kind: DateKind,
}
#[derive(Debug, Clone)]
pub struct RenamePlan {
pub original_path: PathBuf,
pub parent: PathBuf,
pub old_name: OsString,
pub new_name: OsString,
pub depth: usize,
pub kind: ItemKind,
pub detected_date: Option<DetectedDate>,
pub batch_id: Uuid,
}