apple_search_ads/objects/
row.rs1use serde::{Deserialize, Serialize};
4
5use crate::objects::{
6 extended_spend_row::ExtendedSpendRow, reporting_ad_group::ReportingAdGroup,
7 reporting_campaign::ReportingCampaign, reporting_keyword::ReportingKeyword,
8 reporting_search_term::ReportingSearchTerm, spend_row::SpendRow,
9};
10
11#[derive(Deserialize, Serialize, Debug, Clone)]
13pub struct Row<M, I>
14where
15 M: Sized,
16 I: Sized,
17{
18 #[serde(skip_serializing_if = "Option::is_none")]
19 pub granularity: Option<Vec<ExtendedSpendRow>>,
20
21 pub other: bool,
22
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub total: Option<SpendRow>,
25
26 pub metadata: M,
27
28 #[serde(skip_serializing_if = "Option::is_none")]
29 pub insights: Option<I>,
30}
31
32pub type CampaignLevelRowMetaData = ReportingCampaign;
33pub type AdGroupLevelRowMetaData = ReportingAdGroup;
34pub type KeywordLevelRowMetaData = ReportingKeyword;
35pub type SearchTermLevelRowMetaData = ReportingSearchTerm;