atomic_lti/deep_linking/
shared.rs

1use serde::{Deserialize, Serialize};
2use serde_with::skip_serializing_none;
3
4// These structures are used by other deep linking structures
5// and reside here because they are shared
6
7#[skip_serializing_none]
8#[derive(Debug, Deserialize, Serialize, Clone)]
9pub struct Icon {
10  pub url: String,
11  pub width: Option<i32>,
12  pub height: Option<i32>,
13}
14
15#[skip_serializing_none]
16#[derive(Debug, Deserialize, Serialize, Clone)]
17pub struct Thumbnail {
18  pub url: String,
19  pub width: Option<i32>,
20  pub height: Option<i32>,
21}
22
23#[skip_serializing_none]
24#[derive(Debug, Deserialize, Serialize, Clone)]
25pub struct Embed {
26  pub html: String,
27}
28
29#[skip_serializing_none]
30#[derive(Debug, Deserialize, Serialize, Clone)]
31pub struct Window {
32  pub target_name: Option<String>,
33  pub width: Option<i32>,
34  pub height: Option<i32>,
35  pub window_features: Option<String>,
36}
37
38#[skip_serializing_none]
39#[derive(Debug, Deserialize, Serialize, Clone)]
40pub struct Iframe {
41  pub src: String,
42  pub width: Option<i32>,
43  pub height: Option<i32>,
44}