synd_term/client/synd_api/
payload.rs

1use crate::{client::synd_api::query, types};
2
3#[derive(Debug, Clone)]
4pub struct FetchEntriesPayload {
5    pub entries: Vec<types::Entry>,
6    pub page_info: types::PageInfo,
7}
8
9impl From<query::entries::EntriesOutput> for FetchEntriesPayload {
10    fn from(v: query::entries::EntriesOutput) -> Self {
11        let page_info = v.entries.page_info.into();
12        let entries = v.entries.nodes.into_iter().map(Into::into).collect();
13
14        Self { entries, page_info }
15    }
16}
17
18pub struct ExportSubscriptionPayload {
19    pub feeds: Vec<types::ExportedFeed>,
20    pub page_info: types::PageInfo,
21}
22
23impl From<query::export_subscription::ExportSubscriptionOutput> for ExportSubscriptionPayload {
24    fn from(v: query::export_subscription::ExportSubscriptionOutput) -> Self {
25        Self {
26            feeds: v.feeds.nodes.into_iter().map(Into::into).collect(),
27            page_info: v.feeds.page_info.into(),
28        }
29    }
30}