use crate::webdav::markbase_fs::MarkBaseDavFs; use dav_server::{fakels::FakeLs, DavHandler}; use std::path::PathBuf; pub struct MarkBaseWebDAV { user_id: String, db_path: PathBuf, } impl MarkBaseWebDAV { pub fn new(user_id: String, db_path: PathBuf) -> Self { MarkBaseWebDAV { user_id, db_path } } pub fn create_handler(&self) -> DavHandler { DavHandler::builder() .filesystem(MarkBaseDavFs::new( &self.user_id, self.db_path.to_str().unwrap_or(""), )) .locksystem(FakeLs::new()) .strip_prefix("/webdav") .build_handler() } }