summaryrefslogtreecommitdiffstats
path: root/ipfs-api
diff options
context:
space:
mode:
authorFerris Tseng <ferristseng@fastmail.fm>2017-11-26 16:16:23 -0500
committerFerris Tseng <ferristseng@fastmail.fm>2017-11-26 16:16:23 -0500
commit1b8dfb4097998e7b76355a0ee07cbaf9f7ea7193 (patch)
tree929b2759872244e25a9009510ec2f6d6a50cd686 /ipfs-api
parenta84e726ab0a3e70accbb84afed65ad584af67b0d (diff)
add filestore calls
Diffstat (limited to 'ipfs-api')
-rw-r--r--ipfs-api/src/client.rs14
-rw-r--r--ipfs-api/src/request/filestore.rs20
-rw-r--r--ipfs-api/src/response/filestore.rs16
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;