openapi_github/models/
state_change_issue_event.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct StateChangeIssueEvent {
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 = "state_reason", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
36 pub state_reason: Option<Option<String>>,
37}
38
39impl StateChangeIssueEvent {
40 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>) -> StateChangeIssueEvent {
42 StateChangeIssueEvent {
43 id,
44 node_id,
45 url,
46 actor: Box::new(actor),
47 event,
48 commit_id,
49 commit_url,
50 created_at,
51 performed_via_github_app: performed_via_github_app.map(Box::new),
52 state_reason: None,
53 }
54 }
55}
56