1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::collections::HashMap;

use crate::v1::documents::{RichLinkProperties, SuggestedTextStyle, TextStyle};

/// <https://developers.google.com/docs/api/reference/rest/v1/documents#richlink>
#[derive(Clone, Debug, Default, PartialEq, serde::Deserialize, serde::Serialize)]
#[serde(rename_all = "camelCase")]
pub struct RichLink {
    #[serde(skip_serializing_if = "Option::is_none")]
    pub rich_link_id: Option<String>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub suggested_insertion_ids: Option<Vec<String>>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub suggested_deletion_ids: Option<Vec<String>>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub text_style: Option<TextStyle>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
    #[serde(skip_serializing_if = "Option::is_none")]
    pub rich_link_properties: Option<HashMap<String, RichLinkProperties>>,
}