openapi_github/models/
issue_event.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/// IssueEvent : Issue Event
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct IssueEvent {
17    #[serde(rename = "id")]
18    pub id: i64,
19    #[serde(rename = "node_id")]
20    pub node_id: String,
21    #[serde(rename = "url")]
22    pub url: String,
23    #[serde(rename = "actor", deserialize_with = "Option::deserialize")]
24    pub actor: Option<Box<models::NullableSimpleUser>>,
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 = "issue", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
34    pub issue: Option<Option<Box<models::NullableIssue>>>,
35    #[serde(rename = "label", skip_serializing_if = "Option::is_none")]
36    pub label: Option<Box<models::IssueEventLabel>>,
37    #[serde(rename = "assignee", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
38    pub assignee: Option<Option<Box<models::NullableSimpleUser>>>,
39    #[serde(rename = "assigner", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
40    pub assigner: Option<Option<Box<models::NullableSimpleUser>>>,
41    #[serde(rename = "review_requester", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
42    pub review_requester: Option<Option<Box<models::NullableSimpleUser>>>,
43    #[serde(rename = "requested_reviewer", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
44    pub requested_reviewer: Option<Option<Box<models::NullableSimpleUser>>>,
45    #[serde(rename = "requested_team", skip_serializing_if = "Option::is_none")]
46    pub requested_team: Option<Box<models::Team>>,
47    #[serde(rename = "dismissed_review", skip_serializing_if = "Option::is_none")]
48    pub dismissed_review: Option<Box<models::IssueEventDismissedReview>>,
49    #[serde(rename = "milestone", skip_serializing_if = "Option::is_none")]
50    pub milestone: Option<Box<models::IssueEventMilestone>>,
51    #[serde(rename = "project_card", skip_serializing_if = "Option::is_none")]
52    pub project_card: Option<Box<models::IssueEventProjectCard>>,
53    #[serde(rename = "rename", skip_serializing_if = "Option::is_none")]
54    pub rename: Option<Box<models::IssueEventRename>>,
55    #[serde(rename = "author_association", skip_serializing_if = "Option::is_none")]
56    pub author_association: Option<models::AuthorAssociation>,
57    #[serde(rename = "lock_reason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
58    pub lock_reason: Option<Option<String>>,
59    #[serde(rename = "performed_via_github_app", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
60    pub performed_via_github_app: Option<Option<Box<models::NullableIntegration>>>,
61}
62
63impl IssueEvent {
64    /// Issue Event
65    pub fn new(id: i64, node_id: String, url: String, actor: Option<models::NullableSimpleUser>, event: String, commit_id: Option<String>, commit_url: Option<String>, created_at: String) -> IssueEvent {
66        IssueEvent {
67            id,
68            node_id,
69            url,
70            actor: actor.map(Box::new),
71            event,
72            commit_id,
73            commit_url,
74            created_at,
75            issue: None,
76            label: None,
77            assignee: None,
78            assigner: None,
79            review_requester: None,
80            requested_reviewer: None,
81            requested_team: None,
82            dismissed_review: None,
83            milestone: None,
84            project_card: None,
85            rename: None,
86            author_association: None,
87            lock_reason: None,
88            performed_via_github_app: None,
89        }
90    }
91}
92