gitbundle_sdk/models/
feed_relations.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct FeedRelations {
17 #[serde(
18 rename = "creator",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub creator: Option<Option<Box<models::UserModel>>>,
24 #[serde(rename = "model")]
25 pub model: Box<models::FeedModel>,
26 #[serde(
27 rename = "pullreq",
28 default,
29 with = "::serde_with::rust::double_option",
30 skip_serializing_if = "Option::is_none"
31 )]
32 pub pullreq: Option<Option<Box<models::PullreqAuthor>>>,
33 #[serde(
34 rename = "pullreq_activity",
35 default,
36 with = "::serde_with::rust::double_option",
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub pullreq_activity: Option<Option<Box<models::PullreqActivityCreator>>>,
40 #[serde(
41 rename = "pullreq_review",
42 default,
43 with = "::serde_with::rust::double_option",
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub pullreq_review: Option<Option<Box<models::PullreqReviewCreator>>>,
47 #[serde(
48 rename = "release",
49 default,
50 with = "::serde_with::rust::double_option",
51 skip_serializing_if = "Option::is_none"
52 )]
53 pub release: Option<Option<Box<models::ReleaseCreator>>>,
54 #[serde(
55 rename = "repo",
56 default,
57 with = "::serde_with::rust::double_option",
58 skip_serializing_if = "Option::is_none"
59 )]
60 pub repo: Option<Option<Box<models::RepositoryModel>>>,
61}
62
63impl FeedRelations {
64 pub fn new(model: models::FeedModel) -> FeedRelations {
65 FeedRelations {
66 creator: None,
67 model: Box::new(model),
68 pullreq: None,
69 pullreq_activity: None,
70 pullreq_review: None,
71 release: None,
72 repo: None,
73 }
74 }
75}