diff options
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"; +} |