diff options
author | Julius Michaelis <gitter@liftm.de> | 2020-07-12 21:24:55 +0900 |
---|---|---|
committer | Julius Michaelis <gitter@liftm.de> | 2020-07-12 21:24:55 +0900 |
commit | b84a4be646ce2c781b44954989cc02c747794916 (patch) | |
tree | e5b6845974de3defcf937e1f92ad9000455fab8b /ipfs-api/src/request | |
parent | 71f85fc597dd5c5128c61837f50b75a25a00699f (diff) | |
parent | ec9c5269467537db4916eab6d5163f6e8b92fbaa (diff) |
Merge remote-tracking branch 'origin/master'
Diffstat (limited to 'ipfs-api/src/request')
-rw-r--r-- | ipfs-api/src/request/add.rs | 50 |
1 files changed, 47 insertions, 3 deletions
diff --git a/ipfs-api/src/request/add.rs b/ipfs-api/src/request/add.rs index 70eb89a..72001c5 100644 --- a/ipfs-api/src/request/add.rs +++ b/ipfs-api/src/request/add.rs @@ -7,11 +7,55 @@ // use crate::request::ApiRequest; +use serde::Serialize; -pub struct Add; +#[cfg_attr(feature = "builder", derive(TypedBuilder))] +#[derive(Serialize, Default)] +#[serde(rename_all = "kebab-case")] +pub struct Add<'a> { + /// Use trickle-dag format for dag generation. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub trickle: Option<bool>, -impl_skip_serialize!(Add); + /// Only chunk and hash - do not write to disk. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub only_hash: Option<bool>, -impl ApiRequest for Add { + /// Wrap files with a directory object. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub wrap_with_directory: Option<bool>, + + /// Chunking algorithm, `size-[bytes]`, `rabin-[min]-[avg]-[max]` or `buzhash`. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub chunker: Option<&'a str>, + + /// Pin this object when adding. Defaults to `true`. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub pin: Option<bool>, + + /// Use raw blocks for leaf nodes. (experimental). + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub raw_leaves: Option<bool>, + + /// CID version. Defaults to 0 unless an option that depends on CIDv1 is passed. + /// (experimental). + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub cid_version: Option<u32>, + + /// Hash function to use. Implies CIDv1 if not sha2-256. (experimental). Default: + /// `sha2-256`. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub hash: Option<&'a str>, + + /// Inline small blocks into CIDs. (experimental). + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub inline: Option<bool>, + + /// Maximum block size to inline. (experimental). Default: `32`. + #[cfg_attr(feature = "builder", builder(default, setter(strip_option)))] + pub inline_limit: Option<u32>, +} + +impl<'a> ApiRequest for Add<'a> { const PATH: &'static str = "/add"; } |