use dav_server::fs::{DavMetaData, FsError}; use std::time::SystemTime; #[derive(Debug, Clone)] pub struct MarkBaseDavMetaData { len: u64, is_dir: bool, modified: SystemTime, } impl MarkBaseDavMetaData { pub fn new(len: u64, is_dir: bool) -> Self { Self { len, is_dir, modified: SystemTime::now(), } } pub fn from_file_node(node_type: &str, file_size: Option) -> Self { let is_dir = node_type == "folder"; let len = file_size.unwrap_or(0) as u64; Self { len, is_dir, modified: SystemTime::now(), } } } impl DavMetaData for MarkBaseDavMetaData { fn len(&self) -> u64 { self.len } fn modified(&self) -> Result { Ok(self.modified) } fn is_dir(&self) -> bool { self.is_dir } }