1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct PullreqActivityModel {
17 #[serde(
18 rename = "code_comment_line_new",
19 default,
20 with = "::serde_with::rust::double_option",
21 skip_serializing_if = "Option::is_none"
22 )]
23 pub code_comment_line_new: Option<Option<i64>>,
24 #[serde(
25 rename = "code_comment_line_old",
26 default,
27 with = "::serde_with::rust::double_option",
28 skip_serializing_if = "Option::is_none"
29 )]
30 pub code_comment_line_old: Option<Option<i64>>,
31 #[serde(
32 rename = "code_comment_merge_base_sha",
33 default,
34 with = "::serde_with::rust::double_option",
35 skip_serializing_if = "Option::is_none"
36 )]
37 pub code_comment_merge_base_sha: Option<Option<String>>,
38 #[serde(
39 rename = "code_comment_path",
40 default,
41 with = "::serde_with::rust::double_option",
42 skip_serializing_if = "Option::is_none"
43 )]
44 pub code_comment_path: Option<Option<String>>,
45 #[serde(
46 rename = "code_comment_source_sha",
47 default,
48 with = "::serde_with::rust::double_option",
49 skip_serializing_if = "Option::is_none"
50 )]
51 pub code_comment_source_sha: Option<Option<String>>,
52 #[serde(
53 rename = "code_comment_span_new",
54 default,
55 with = "::serde_with::rust::double_option",
56 skip_serializing_if = "Option::is_none"
57 )]
58 pub code_comment_span_new: Option<Option<i64>>,
59 #[serde(
60 rename = "code_comment_span_old",
61 default,
62 with = "::serde_with::rust::double_option",
63 skip_serializing_if = "Option::is_none"
64 )]
65 pub code_comment_span_old: Option<Option<i64>>,
66 #[serde(rename = "created")]
67 pub created: i64,
68 #[serde(rename = "created_by")]
69 pub created_by: i64,
70 #[serde(
71 rename = "deleted",
72 default,
73 with = "::serde_with::rust::double_option",
74 skip_serializing_if = "Option::is_none"
75 )]
76 pub deleted: Option<Option<i64>>,
77 #[serde(rename = "edited")]
78 pub edited: i64,
79 #[serde(rename = "id")]
80 pub id: i64,
81 #[serde(rename = "kind")]
82 pub kind: models::PullreqActivityKind,
83 #[serde(
84 rename = "metadata",
85 default,
86 with = "::serde_with::rust::double_option",
87 skip_serializing_if = "Option::is_none"
88 )]
89 pub metadata: Option<Option<Box<models::PullreqActivityMetadata>>>,
90 #[serde(rename = "order")]
91 pub order: i64,
92 #[serde(
93 rename = "outdated",
94 default,
95 with = "::serde_with::rust::double_option",
96 skip_serializing_if = "Option::is_none"
97 )]
98 pub outdated: Option<Option<bool>>,
99 #[serde(
100 rename = "parent_id",
101 default,
102 with = "::serde_with::rust::double_option",
103 skip_serializing_if = "Option::is_none"
104 )]
105 pub parent_id: Option<Option<i64>>,
106 #[serde(rename = "payload", deserialize_with = "Option::deserialize")]
107 pub payload: Option<serde_json::Value>,
108 #[serde(rename = "pullreq_id")]
109 pub pullreq_id: i64,
110 #[serde(rename = "reply_seq")]
111 pub reply_seq: i64,
112 #[serde(rename = "repo_id")]
113 pub repo_id: i64,
114 #[serde(
115 rename = "resolved",
116 default,
117 with = "::serde_with::rust::double_option",
118 skip_serializing_if = "Option::is_none"
119 )]
120 pub resolved: Option<Option<i64>>,
121 #[serde(
122 rename = "resolved_by",
123 default,
124 with = "::serde_with::rust::double_option",
125 skip_serializing_if = "Option::is_none"
126 )]
127 pub resolved_by: Option<Option<i64>>,
128 #[serde(rename = "sub_order")]
129 pub sub_order: i64,
130 #[serde(rename = "text")]
131 pub text: String,
132 #[serde(rename = "type")]
133 pub r#type: models::PullreqActivityType,
134 #[serde(rename = "updated")]
135 pub updated: i64,
136 #[serde(rename = "version")]
137 pub version: i64,
138}
139
140impl PullreqActivityModel {
141 pub fn new(
142 created: i64,
143 created_by: i64,
144 edited: i64,
145 id: i64,
146 kind: models::PullreqActivityKind,
147 order: i64,
148 payload: Option<serde_json::Value>,
149 pullreq_id: i64,
150 reply_seq: i64,
151 repo_id: i64,
152 sub_order: i64,
153 text: String,
154 r#type: models::PullreqActivityType,
155 updated: i64,
156 version: i64,
157 ) -> PullreqActivityModel {
158 PullreqActivityModel {
159 code_comment_line_new: None,
160 code_comment_line_old: None,
161 code_comment_merge_base_sha: None,
162 code_comment_path: None,
163 code_comment_source_sha: None,
164 code_comment_span_new: None,
165 code_comment_span_old: None,
166 created,
167 created_by,
168 deleted: None,
169 edited,
170 id,
171 kind,
172 metadata: None,
173 order,
174 outdated: None,
175 parent_id: None,
176 payload,
177 pullreq_id,
178 reply_seq,
179 repo_id,
180 resolved: None,
181 resolved_by: None,
182 sub_order,
183 text,
184 r#type,
185 updated,
186 version,
187 }
188 }
189}