ipfs_api_prelude/response/
file.rs1use crate::response::{serde, IpfsHeader};
10use crate::serde::Deserialize;
11use std::collections::HashMap;
12
13#[derive(Debug, Deserialize)]
14#[serde(rename_all = "PascalCase")]
15pub struct IpfsDetailedFile {
16 pub hash: String,
17 pub size: u64,
18
19 #[serde(rename = "Type")]
20 pub typ: String,
21
22 #[serde(default)]
23 pub links: Vec<IpfsHeader>,
24}
25
26#[derive(Debug, Deserialize)]
27#[serde(rename_all = "PascalCase")]
28pub struct FileLsResponse {
29 #[serde(deserialize_with = "serde::deserialize_hashmap")]
30 pub arguments: HashMap<String, String>,
31
32 #[serde(deserialize_with = "serde::deserialize_hashmap")]
33 pub objects: HashMap<String, IpfsDetailedFile>,
34}
35
36#[cfg(test)]
37mod tests {
38 deserialize_test!(v0_file_ls_0, FileLsResponse);
39 deserialize_test!(v0_file_ls_1, FileLsResponse);
40}