P0 fixes: - flush(): add flushed flag, proper error logging, Drop warning for data loss - props_data RwLock: replace unwrap() with try_read/try_write recovery - PersistedLs: add is_expired() + cleanup_expired_locks() helper P1 improvements: - Props persistence via VFS (load_props/save_props/patch_props) - COPY/MOVE sync dead props (copy on COPY, move key on rename) - Atomic set_atime/set_mtime via filetime crate (no race condition) New files: - webdav_locks.rs: PersistedLs with lock persistence + expiry cleanup Tests: 288 passed, 0 failed
35 lines
596 B
Rust
35 lines
596 B
Rust
pub mod api;
|
|
pub mod archive;
|
|
pub mod audio;
|
|
pub mod audit;
|
|
pub mod auth;
|
|
pub mod category_view;
|
|
pub mod cli;
|
|
pub mod command;
|
|
pub mod config;
|
|
pub mod download;
|
|
pub mod import_markdown;
|
|
pub mod pg_client;
|
|
pub mod provider;
|
|
pub mod render;
|
|
pub mod rsync;
|
|
pub mod s3;
|
|
pub mod s3_auth;
|
|
pub mod s3_config;
|
|
pub mod s3_xml;
|
|
pub mod scan;
|
|
pub mod server;
|
|
pub mod ssh_server;
|
|
pub mod sync;
|
|
pub mod vfs;
|
|
pub mod webdav;
|
|
pub mod webdav_locks;
|
|
pub mod webdav_version;
|
|
|
|
#[cfg(test)]
|
|
mod security_audit;
|
|
|
|
// Re-export from external filetree crate
|
|
pub use filetree::node::FileNode;
|
|
pub use filetree::FileTree;
|