ipfs_api_prelude/response/
pubsub.rs1use crate::response::serde;
10use crate::serde::Deserialize;
11
12#[derive(Debug, Deserialize)]
13#[serde(rename_all = "PascalCase")]
14pub struct PubsubLsResponse {
15 #[serde(deserialize_with = "serde::deserialize_vec")]
16 pub strings: Vec<String>,
17}
18
19#[derive(Debug, Deserialize)]
20#[serde(rename_all = "PascalCase")]
21pub struct PubsubPeersResponse {
22 #[serde(deserialize_with = "serde::deserialize_vec")]
23 pub strings: Vec<String>,
24}
25
26pub type PubsubPubResponse = ();
27
28#[derive(Debug, Deserialize)]
29pub struct PubsubSubResponse {
30 pub from: String,
31
32 #[serde(deserialize_with = "serde::deserialize_data_field")]
33 pub data: Vec<u8>,
34
35 #[serde(deserialize_with = "serde::deserialize_seqno_field")]
36 pub seqno: u64,
37
38 #[serde(
39 rename = "topicIDs",
40 deserialize_with = "serde::deserialize_topic_field"
41 )]
42 pub topic_ids: Vec<String>,
43}
44
45#[cfg(test)]
46mod tests {
47 deserialize_test!(v0_pubsub_ls_0, PubsubLsResponse);
48 deserialize_test!(v0_pubsub_ls_1, PubsubLsResponse);
49 deserialize_test!(v0_pubsub_peers_0, PubsubPeersResponse);
50 deserialize_test!(v0_pubsub_sub_0, PubsubSubResponse);
51 deserialize_test!(v0_pubsub_sub_1, PubsubSubResponse);
52}