shrupl/src/sharry/client.rs

30 lines
656 B
Rust

use crate::{error, file};
use super::api::{FileID, NewShareRequest, Uri};
pub trait Client {
fn share_create(
&self,
uri: &Uri,
alias_id: &str,
data: NewShareRequest,
) -> error::Result<String>;
fn share_notify(&self, uri: &Uri, alias_id: &str, share_id: &str) -> error::Result<()>;
fn file_create(
&self,
uri: &Uri,
alias_id: &str,
share_id: &str,
file: &file::Checked,
) -> error::Result<FileID>;
fn file_patch(
&self,
uri: &Uri,
alias_id: &str,
share_id: &str,
chunk: &file::Chunk,
) -> error::Result<()>;
}