openapi_github/models/
timeline_issue_events.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// TimelineIssueEvents : Timeline Event
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct TimelineIssueEvents {
17    #[serde(rename = "id")]
18    pub id: i32,
19    #[serde(rename = "node_id")]
20    pub node_id: String,
21    #[serde(rename = "url")]
22    pub url: String,
23    #[serde(rename = "actor")]
24    pub actor: Box<models::SimpleUser>,
25    #[serde(rename = "event")]
26    pub event: String,
27    #[serde(rename = "commit_id", deserialize_with = "Option::deserialize")]
28    pub commit_id: Option<String>,
29    #[serde(rename = "commit_url", deserialize_with = "Option::deserialize")]
30    pub commit_url: Option<String>,
31    #[serde(rename = "created_at")]
32    pub created_at: String,
33    #[serde(rename = "performed_via_github_app", deserialize_with = "Option::deserialize")]
34    pub performed_via_github_app: Option<Box<models::NullableIntegration>>,
35    #[serde(rename = "label")]
36    pub label: Box<models::LabeledIssueEventLabel>,
37    #[serde(rename = "milestone")]
38    pub milestone: Box<models::MilestonedIssueEventMilestone>,
39    #[serde(rename = "rename")]
40    pub rename: Box<models::RenamedIssueEventRename>,
41    #[serde(rename = "review_requester")]
42    pub review_requester: Box<models::SimpleUser>,
43    #[serde(rename = "requested_team", skip_serializing_if = "Option::is_none")]
44    pub requested_team: Option<Box<models::Team>>,
45    #[serde(rename = "requested_reviewer", skip_serializing_if = "Option::is_none")]
46    pub requested_reviewer: Option<Box<models::SimpleUser>>,
47    #[serde(rename = "dismissed_review")]
48    pub dismissed_review: Box<models::ReviewDismissedIssueEventDismissedReview>,
49    #[serde(rename = "lock_reason", deserialize_with = "Option::deserialize")]
50    pub lock_reason: Option<String>,
51    #[serde(rename = "project_card", skip_serializing_if = "Option::is_none")]
52    pub project_card: Option<Box<models::AddedToProjectIssueEventProjectCard>>,
53    /// The text of the review.
54    #[serde(rename = "body", deserialize_with = "Option::deserialize")]
55    pub body: Option<String>,
56    #[serde(rename = "body_text", skip_serializing_if = "Option::is_none")]
57    pub body_text: Option<String>,
58    #[serde(rename = "body_html", skip_serializing_if = "Option::is_none")]
59    pub body_html: Option<String>,
60    #[serde(rename = "html_url")]
61    pub html_url: String,
62    #[serde(rename = "user")]
63    pub user: Box<models::SimpleUser>,
64    #[serde(rename = "updated_at")]
65    pub updated_at: String,
66    #[serde(rename = "issue_url")]
67    pub issue_url: String,
68    #[serde(rename = "author_association")]
69    pub author_association: models::AuthorAssociation,
70    #[serde(rename = "reactions", skip_serializing_if = "Option::is_none")]
71    pub reactions: Option<Box<models::ReactionRollup>>,
72    #[serde(rename = "source")]
73    pub source: Box<models::TimelineCrossReferencedEventSource>,
74    /// SHA for the commit
75    #[serde(rename = "sha")]
76    pub sha: String,
77    #[serde(rename = "author")]
78    pub author: Box<models::GitCommitAuthor>,
79    #[serde(rename = "committer")]
80    pub committer: Box<models::GitCommitAuthor>,
81    /// Message describing the purpose of the commit
82    #[serde(rename = "message")]
83    pub message: String,
84    #[serde(rename = "tree")]
85    pub tree: Box<models::GitCommitTree>,
86    #[serde(rename = "parents")]
87    pub parents: Vec<models::GitCommitParentsInner>,
88    #[serde(rename = "verification")]
89    pub verification: Box<models::GitCommitVerification>,
90    #[serde(rename = "state")]
91    pub state: String,
92    #[serde(rename = "pull_request_url")]
93    pub pull_request_url: String,
94    #[serde(rename = "_links")]
95    pub _links: Box<models::TimelineReviewedEventLinks>,
96    #[serde(rename = "submitted_at", skip_serializing_if = "Option::is_none")]
97    pub submitted_at: Option<String>,
98    #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
99    pub comments: Option<Vec<models::CommitComment>>,
100    #[serde(rename = "assignee")]
101    pub assignee: Box<models::SimpleUser>,
102    #[serde(rename = "state_reason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
103    pub state_reason: Option<Option<String>>,
104}
105
106impl TimelineIssueEvents {
107    /// Timeline Event
108    pub fn new(id: i32, node_id: String, url: String, actor: models::SimpleUser, event: String, commit_id: Option<String>, commit_url: Option<String>, created_at: String, performed_via_github_app: Option<models::NullableIntegration>, label: models::LabeledIssueEventLabel, milestone: models::MilestonedIssueEventMilestone, rename: models::RenamedIssueEventRename, review_requester: models::SimpleUser, dismissed_review: models::ReviewDismissedIssueEventDismissedReview, lock_reason: Option<String>, body: Option<String>, html_url: String, user: models::SimpleUser, updated_at: String, issue_url: String, author_association: models::AuthorAssociation, source: models::TimelineCrossReferencedEventSource, sha: String, author: models::GitCommitAuthor, committer: models::GitCommitAuthor, message: String, tree: models::GitCommitTree, parents: Vec<models::GitCommitParentsInner>, verification: models::GitCommitVerification, state: String, pull_request_url: String, _links: models::TimelineReviewedEventLinks, assignee: models::SimpleUser) -> TimelineIssueEvents {
109        TimelineIssueEvents {
110            id,
111            node_id,
112            url,
113            actor: Box::new(actor),
114            event,
115            commit_id,
116            commit_url,
117            created_at,
118            performed_via_github_app: performed_via_github_app.map(Box::new),
119            label: Box::new(label),
120            milestone: Box::new(milestone),
121            rename: Box::new(rename),
122            review_requester: Box::new(review_requester),
123            requested_team: None,
124            requested_reviewer: None,
125            dismissed_review: Box::new(dismissed_review),
126            lock_reason,
127            project_card: None,
128            body,
129            body_text: None,
130            body_html: None,
131            html_url,
132            user: Box::new(user),
133            updated_at,
134            issue_url,
135            author_association,
136            reactions: None,
137            source: Box::new(source),
138            sha,
139            author: Box::new(author),
140            committer: Box::new(committer),
141            message,
142            tree: Box::new(tree),
143            parents,
144            verification: Box::new(verification),
145            state,
146            pull_request_url,
147            _links: Box::new(_links),
148            submitted_at: None,
149            comments: None,
150            assignee: Box::new(assignee),
151            state_reason: None,
152        }
153    }
154}
155