1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TimelineComment {
17 #[serde(rename = "assignee", skip_serializing_if = "Option::is_none")]
18 pub assignee: Option<Box<models::User>>,
19 #[serde(rename = "assignee_team", skip_serializing_if = "Option::is_none")]
20 pub assignee_team: Option<Box<models::Team>>,
21 #[serde(rename = "body", skip_serializing_if = "Option::is_none")]
22 pub body: Option<String>,
23 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
24 pub created_at: Option<String>,
25 #[serde(rename = "dependent_issue", skip_serializing_if = "Option::is_none")]
26 pub dependent_issue: Option<Box<models::Issue>>,
27 #[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
28 pub html_url: Option<String>,
29 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
30 pub id: Option<i64>,
31 #[serde(rename = "issue_url", skip_serializing_if = "Option::is_none")]
32 pub issue_url: Option<String>,
33 #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
34 pub label: Option<Box<models::Label>>,
35 #[serde(rename = "milestone", skip_serializing_if = "Option::is_none")]
36 pub milestone: Option<Box<models::Milestone>>,
37 #[serde(rename = "new_ref", skip_serializing_if = "Option::is_none")]
38 pub new_ref: Option<String>,
39 #[serde(rename = "new_title", skip_serializing_if = "Option::is_none")]
40 pub new_title: Option<String>,
41 #[serde(rename = "old_milestone", skip_serializing_if = "Option::is_none")]
42 pub old_milestone: Option<Box<models::Milestone>>,
43 #[serde(rename = "old_project_id", skip_serializing_if = "Option::is_none")]
44 pub old_project_id: Option<i64>,
45 #[serde(rename = "old_ref", skip_serializing_if = "Option::is_none")]
46 pub old_ref: Option<String>,
47 #[serde(rename = "old_title", skip_serializing_if = "Option::is_none")]
48 pub old_title: Option<String>,
49 #[serde(rename = "project_id", skip_serializing_if = "Option::is_none")]
50 pub project_id: Option<i64>,
51 #[serde(rename = "pull_request_url", skip_serializing_if = "Option::is_none")]
52 pub pull_request_url: Option<String>,
53 #[serde(rename = "ref_action", skip_serializing_if = "Option::is_none")]
54 pub ref_action: Option<String>,
55 #[serde(rename = "ref_comment", skip_serializing_if = "Option::is_none")]
56 pub ref_comment: Option<Box<models::Comment>>,
57 #[serde(rename = "ref_commit_sha", skip_serializing_if = "Option::is_none")]
59 pub ref_commit_sha: Option<String>,
60 #[serde(rename = "ref_issue", skip_serializing_if = "Option::is_none")]
61 pub ref_issue: Option<Box<models::Issue>>,
62 #[serde(rename = "removed_assignee", skip_serializing_if = "Option::is_none")]
64 pub removed_assignee: Option<bool>,
65 #[serde(rename = "resolve_doer", skip_serializing_if = "Option::is_none")]
66 pub resolve_doer: Option<Box<models::User>>,
67 #[serde(rename = "review_id", skip_serializing_if = "Option::is_none")]
68 pub review_id: Option<i64>,
69 #[serde(rename = "tracked_time", skip_serializing_if = "Option::is_none")]
70 pub tracked_time: Option<Box<models::TrackedTime>>,
71 #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
72 pub r#type: Option<String>,
73 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
74 pub updated_at: Option<String>,
75 #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
76 pub user: Option<Box<models::User>>,
77}
78
79impl TimelineComment {
80 pub fn new() -> TimelineComment {
82 TimelineComment {
83 assignee: None,
84 assignee_team: None,
85 body: None,
86 created_at: None,
87 dependent_issue: None,
88 html_url: None,
89 id: None,
90 issue_url: None,
91 label: None,
92 milestone: None,
93 new_ref: None,
94 new_title: None,
95 old_milestone: None,
96 old_project_id: None,
97 old_ref: None,
98 old_title: None,
99 project_id: None,
100 pull_request_url: None,
101 ref_action: None,
102 ref_comment: None,
103 ref_commit_sha: None,
104 ref_issue: None,
105 removed_assignee: None,
106 resolve_doer: None,
107 review_id: None,
108 tracked_time: None,
109 r#type: None,
110 updated_at: None,
111 user: None,
112 }
113 }
114}
115