mod ids; pub mod json; mod uri; pub use ids::{AliasID, FileID, ShareID}; pub use uri::Uri; use crate::file; pub trait Client { fn share_create( &self, uri: &Uri, alias_id: &AliasID, data: json::NewShareRequest, ) -> crate::Result; fn share_notify(&self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID) -> crate::Result<()>; fn file_create( &self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID, file: &file::Checked, ) -> crate::Result; fn file_patch( &self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID, chunk: &file::Chunk, ) -> crate::Result<()>; }