diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2017-11-26 16:16:23 -0500 |
---|---|---|
committer | Ferris Tseng <ferristseng@fastmail.fm> | 2017-11-26 16:16:23 -0500 |
commit | 1b8dfb4097998e7b76355a0ee07cbaf9f7ea7193 (patch) | |
tree | 929b2759872244e25a9009510ec2f6d6a50cd686 /ipfs-api | |
parent | a84e726ab0a3e70accbb84afed65ad584af67b0d (diff) |
add filestore calls
Diffstat (limited to 'ipfs-api')
-rw-r--r-- | ipfs-api/src/client.rs | 14 | ||||
-rw-r--r-- | ipfs-api/src/request/filestore.rs | 20 | ||||
-rw-r--r-- | ipfs-api/src/response/filestore.rs | 16 |
3 files changed, 27 insertions, 23 deletions
diff --git a/ipfs-api/src/client.rs b/ipfs-api/src/client.rs index 8a928ce..4de71ff 100644 --- a/ipfs-api/src/client.rs +++ b/ipfs-api/src/client.rs @@ -699,15 +699,21 @@ impl IpfsClient { /// List objects in filestore. /// #[inline] - pub fn filestore_ls(&self) -> AsyncStreamResponse<response::FilestoreLsResponse> { - self.request_stream(&request::FilestoreLs, None) + pub fn filestore_ls( + &self, + cid: &Option<&str>, + ) -> AsyncStreamResponse<response::FilestoreLsResponse> { + self.request_stream(&request::FilestoreLs { cid }, None) } /// Verify objects in filestore. /// #[inline] - pub fn filestore_verify(&self) -> AsyncStreamResponse<response::FilestoreVerifyResponse> { - self.request_stream(&request::FilestoreVerify, None) + pub fn filestore_verify( + &self, + cid: &Option<&str>, + ) -> AsyncStreamResponse<response::FilestoreVerifyResponse> { + self.request_stream(&request::FilestoreVerify { cid }, None) } /// Download Ipfs object. diff --git a/ipfs-api/src/request/filestore.rs b/ipfs-api/src/request/filestore.rs index 8e9fa58..93554f9 100644 --- a/ipfs-api/src/request/filestore.rs +++ b/ipfs-api/src/request/filestore.rs @@ -21,11 +21,13 @@ impl ApiRequest for FilestoreDups { } -pub struct FilestoreLs; - -impl_skip_serialize!(FilestoreLs); +#[derive(Serialize)] +pub struct FilestoreLs<'a> { + #[serde(rename = "arg")] + pub cid: &'a Option<&'a str>, +} -impl ApiRequest for FilestoreLs { +impl<'a> ApiRequest for FilestoreLs<'a> { #[inline] fn path() -> &'static str { "/filestore/ls" @@ -33,11 +35,13 @@ impl ApiRequest for FilestoreLs { } -pub struct FilestoreVerify; - -impl_skip_serialize!(FilestoreVerify); +#[derive(Serialize)] +pub struct FilestoreVerify<'a> { + #[serde(rename = "arg")] + pub cid: &'a Option<&'a str>, +} -impl ApiRequest for FilestoreVerify { +impl<'a> ApiRequest for FilestoreVerify<'a> { #[inline] fn path() -> &'static str { "/filestore/verify" diff --git a/ipfs-api/src/response/filestore.rs b/ipfs-api/src/response/filestore.rs index 06bf455..f2f62e5 100644 --- a/ipfs-api/src/response/filestore.rs +++ b/ipfs-api/src/response/filestore.rs @@ -18,7 +18,7 @@ pub struct FilestoreDupsResponse { #[derive(Debug, Deserialize)] #[serde(rename_all = "PascalCase")] -pub struct FilestoreLsResponse { +pub struct FilestoreObject { pub status: i32, pub error_msg: String, pub key: String, @@ -28,13 +28,7 @@ pub struct FilestoreLsResponse { } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "PascalCase")] -pub struct FilestoreVerifyResponse { - pub status: i32, - pub error_msg: String, - pub key: String, - pub file_path: String, - pub offset: u64, - pub size: u64, -} +pub type FilestoreLsResponse = FilestoreObject; + + +pub type FilestoreVerifyResponse = FilestoreObject; |