2025-07-07 16:26:10 +00:00
|
|
|
use crate::{
|
2025-07-07 19:33:31 +00:00
|
|
|
Result, file,
|
|
|
|
|
sharry::{AliasID, Client, FileID, ShareID, Uri, json},
|
2025-07-07 16:26:10 +00:00
|
|
|
};
|
|
|
|
|
|
2025-07-07 19:33:31 +00:00
|
|
|
use super::mock_ids::CheckID;
|
|
|
|
|
|
2025-07-07 16:26:10 +00:00
|
|
|
pub struct MockClient;
|
|
|
|
|
|
2025-07-07 19:33:31 +00:00
|
|
|
impl Client for MockClient {
|
2025-07-07 16:26:10 +00:00
|
|
|
fn share_create(
|
|
|
|
|
&self,
|
|
|
|
|
uri: &Uri,
|
|
|
|
|
alias_id: &AliasID,
|
2025-07-07 19:33:31 +00:00
|
|
|
_: json::NewShareRequest,
|
|
|
|
|
) -> Result<ShareID> {
|
|
|
|
|
(uri, alias_id).check()?;
|
2025-07-07 16:26:10 +00:00
|
|
|
|
|
|
|
|
Ok(true.into())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn share_notify(&self, uri: &Uri, alias_id: &AliasID, share_id: &ShareID) -> crate::Result<()> {
|
2025-07-07 19:33:31 +00:00
|
|
|
(uri, alias_id).check()?;
|
|
|
|
|
share_id.check()?;
|
2025-07-07 16:26:10 +00:00
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn file_create(
|
|
|
|
|
&self,
|
|
|
|
|
uri: &Uri,
|
|
|
|
|
alias_id: &AliasID,
|
|
|
|
|
share_id: &ShareID,
|
|
|
|
|
_: &file::Checked,
|
2025-07-07 19:33:31 +00:00
|
|
|
) -> Result<FileID> {
|
|
|
|
|
(uri, alias_id).check()?;
|
|
|
|
|
share_id.check()?;
|
2025-07-07 16:26:10 +00:00
|
|
|
|
|
|
|
|
Ok(true.into())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fn file_patch(
|
|
|
|
|
&self,
|
|
|
|
|
uri: &Uri,
|
|
|
|
|
alias_id: &AliasID,
|
|
|
|
|
share_id: &ShareID,
|
|
|
|
|
chunk: &file::Chunk,
|
2025-07-07 19:33:31 +00:00
|
|
|
) -> Result<()> {
|
|
|
|
|
(uri, alias_id).check()?;
|
|
|
|
|
(share_id, chunk.get_file_id()).check()?;
|
2025-07-07 16:26:10 +00:00
|
|
|
|
|
|
|
|
// TODO: `chunk` must align to a full MiB
|
|
|
|
|
|
|
|
|
|
// Ok(())
|
|
|
|
|
|
|
|
|
|
todo!()
|
|
|
|
|
}
|
|
|
|
|
}
|