ipfs_api_prelude/response/
pin.rs

1// Copyright 2017 rust-ipfs-api Developers
2//
3// Licensed under the Apache License, Version 2.0, <LICENSE-APACHE or
4// http://apache.org/licenses/LICENSE-2.0> or the MIT license <LICENSE-MIT or
5// http://opensource.org/licenses/MIT>, at your option. This file may not be
6// copied, modified, or distributed except according to those terms.
7//
8
9use crate::response::serde;
10use crate::serde::Deserialize;
11use std::collections::HashMap;
12
13#[derive(Debug, Deserialize)]
14#[serde(rename_all = "PascalCase")]
15pub struct PinAddResponse {
16    #[serde(deserialize_with = "serde::deserialize_vec")]
17    pub pins: Vec<String>,
18
19    pub progress: Option<i32>,
20}
21
22#[derive(Debug, Deserialize)]
23#[serde(rename_all = "PascalCase")]
24pub struct PinType {
25    #[serde(rename = "Type")]
26    pub typ: String,
27}
28
29#[derive(Debug, Deserialize)]
30#[serde(rename_all = "PascalCase")]
31pub struct PinLsResponse {
32    #[serde(deserialize_with = "serde::deserialize_hashmap")]
33    pub keys: HashMap<String, PinType>,
34}
35
36#[derive(Debug, Deserialize)]
37#[serde(rename_all = "PascalCase")]
38pub struct PinRmResponse {
39    #[serde(deserialize_with = "serde::deserialize_vec")]
40    pub pins: Vec<String>,
41}
42
43#[cfg(test)]
44mod tests {
45    deserialize_test!(v0_pin_ls_0, PinLsResponse);
46    deserialize_test!(v0_pin_add_0, PinAddResponse);
47}