diff options
author | Ferris Tseng <ferristseng@fastmail.fm> | 2020-07-18 22:34:29 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-07-18 22:34:29 -0400 |
commit | a404a4e8ef2dca29153945ec20e5e0dff73cde66 (patch) | |
tree | 80a0f97d682496ab91e57c8873704eae66e24c56 /ipfs-api/src/request/files.rs | |
parent | ec9c5269467537db4916eab6d5163f6e8b92fbaa (diff) | |
parent | a3ad2e6bd9b8ed05587ea990c2136953ad2fd50f (diff) |
Merge pull request #54 from jcaesar/master
Add lots of missing parameters on ipfs files
Diffstat (limited to 'ipfs-api/src/request/files.rs')
-rw-r--r-- | ipfs-api/src/request/files.rs | 111 |
1 files changed, 99 insertions, 12 deletions
diff --git a/ipfs-api/src/request/files.rs b/ipfs-api/src/request/files.rs index 3ec4186..498faa9 100644 --- a/ipfs-api/src/request/files.rs +++ b/ipfs-api/src/request/files.rs @@ -9,13 +9,15 @@ use crate::request::ApiRequest; use crate::serde::Serialize; -#[derive(Serialize)] +#[derive(Serialize, Default)] pub struct FilesCp<'a> { #[serde(rename = "arg")] pub path: &'a str, #[serde(rename = "arg")] pub dest: &'a str, + + pub flush: Option<bool>, } impl<'a> ApiRequest for FilesCp<'a> { @@ -32,83 +34,168 @@ impl<'a> ApiRequest for FilesFlush<'a> { const PATH: &'static str = "/files/flush"; } -#[derive(Serialize)] +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] pub struct FilesLs<'a> { #[serde(rename = "arg")] + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] pub path: Option<&'a str>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub long: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + #[serde(rename = "U")] + pub unsorted: Option<bool>, } impl<'a> ApiRequest for FilesLs<'a> { const PATH: &'static str = "/files/ls"; } -#[derive(Serialize)] +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] +#[serde(rename_all = "kebab-case")] pub struct FilesMkdir<'a> { #[serde(rename = "arg")] pub path: &'a str, - pub parents: bool, + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub parents: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub hash: Option<&'a str>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub cid_version: Option<i32>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub flush: Option<bool>, } impl<'a> ApiRequest for FilesMkdir<'a> { const PATH: &'static str = "/files/mkdir"; } -#[derive(Serialize)] +#[derive(Serialize, Default)] pub struct FilesMv<'a> { #[serde(rename = "arg")] pub path: &'a str, #[serde(rename = "arg")] pub dest: &'a str, + + pub flush: Option<bool>, } impl<'a> ApiRequest for FilesMv<'a> { const PATH: &'static str = "/files/mv"; } -#[derive(Serialize)] +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] pub struct FilesRead<'a> { #[serde(rename = "arg")] pub path: &'a str, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub offset: Option<i64>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub count: Option<i64>, } impl<'a> ApiRequest for FilesRead<'a> { const PATH: &'static str = "/files/read"; } -#[derive(Serialize)] +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] pub struct FilesRm<'a> { #[serde(rename = "arg")] pub path: &'a str, - pub recursive: bool, + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub recursive: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub flush: Option<bool>, } impl<'a> ApiRequest for FilesRm<'a> { const PATH: &'static str = "/files/rm"; } -#[derive(Serialize)] +#[derive(Serialize, Default)] +#[serde(rename_all = "kebab-case")] pub struct FilesStat<'a> { #[serde(rename = "arg")] pub path: &'a str, + + pub with_local: Option<bool>, } impl<'a> ApiRequest for FilesStat<'a> { const PATH: &'static str = "/files/stat"; } -#[derive(Serialize)] +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] +#[serde(rename_all = "kebab-case")] pub struct FilesWrite<'a> { #[serde(rename = "arg")] pub path: &'a str, - pub create: bool, + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub create: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub truncate: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub parents: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub offset: Option<i64>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub count: Option<i64>, - pub truncate: bool, + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub raw_leaves: Option<bool>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub hash: Option<&'a str>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub cid_version: Option<i32>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub flush: Option<bool>, } impl<'a> ApiRequest for FilesWrite<'a> { const PATH: &'static str = "/files/write"; } + +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] +#[serde(rename_all = "kebab-case")] +pub struct FilesChcid<'a> { + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + #[serde(rename = "arg")] + pub path: Option<&'a str>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub hash: Option<&'a str>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub cid_version: Option<i32>, + + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub flush: Option<bool>, +} + +impl<'a> ApiRequest for FilesChcid<'a> { + const PATH: &'static str = "/files/chcid"; +} |