//! lfs Operation method trait for the module. use crate::lfs::types::{ LfsBatchRequest, LfsBatchResponse, LfsLock, LfsLockList, LfsObject, LfsUploadResult, }; /// LFS Operation trait. pub trait LfsOps { /// Handle an LFS batch request. fn lfs_handle_batch(&self, req: &LfsBatchRequest) -> Result; /// Upload an LFS object. fn lfs_upload(&self, obj: &LfsObject) -> Result; /// Download an LFS object (returns an href). fn lfs_download(&self, obj: &LfsObject) -> Result; /// Verify an LFS object. fn lfs_verify(&self, obj: &LfsObject) -> Result<(), crate::Error>; /// Acquire a lock. fn lfs_lock(&self, path: &str, owner: &str) -> Result; /// Release a lock. fn lfs_unlock(&self, path: &str, owner: &str) -> Result; /// List locks. fn lfs_list_locks(&self, cursor: Option<&str>, limit: u64) -> Result; /// Clean up unreferenced objects. fn lfs_cleanup_unreferenced(&self) -> Result; }