35 lines
726 B
Rust
35 lines
726 B
Rust
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<ShareID>;
|
|
|
|
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<FileID>;
|
|
|
|
fn file_patch(
|
|
&self,
|
|
uri: &Uri,
|
|
alias_id: &AliasID,
|
|
share_id: &ShareID,
|
|
chunk: &file::Chunk,
|
|
) -> crate::Result<()>;
|
|
}
|