openapi_github/models/
issue_event_for_issue.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct IssueEventForIssue {
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::Integration>>,
35 #[serde(rename = "label")]
36 pub label: Box<models::LabeledIssueEventLabel>,
37 #[serde(rename = "assignee")]
38 pub assignee: Box<models::SimpleUser>,
39 #[serde(rename = "assigner")]
40 pub assigner: Box<models::SimpleUser>,
41 #[serde(rename = "milestone")]
42 pub milestone: Box<models::MilestonedIssueEventMilestone>,
43 #[serde(rename = "rename")]
44 pub rename: Box<models::RenamedIssueEventRename>,
45 #[serde(rename = "review_requester")]
46 pub review_requester: Box<models::SimpleUser>,
47 #[serde(rename = "requested_team", skip_serializing_if = "Option::is_none")]
48 pub requested_team: Option<Box<models::Team>>,
49 #[serde(rename = "requested_reviewer", skip_serializing_if = "Option::is_none")]
50 pub requested_reviewer: Option<Box<models::SimpleUser>>,
51 #[serde(rename = "dismissed_review")]
52 pub dismissed_review: Box<models::ReviewDismissedIssueEventDismissedReview>,
53 #[serde(rename = "lock_reason", deserialize_with = "Option::deserialize")]
54 pub lock_reason: Option<String>,
55 #[serde(rename = "project_card", skip_serializing_if = "Option::is_none")]
56 pub project_card: Option<Box<models::AddedToProjectIssueEventProjectCard>>,
57}
58
59impl IssueEventForIssue {
60 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::Integration>, label: models::LabeledIssueEventLabel, assignee: models::SimpleUser, assigner: models::SimpleUser, milestone: models::MilestonedIssueEventMilestone, rename: models::RenamedIssueEventRename, review_requester: models::SimpleUser, dismissed_review: models::ReviewDismissedIssueEventDismissedReview, lock_reason: Option<String>) -> IssueEventForIssue {
62 IssueEventForIssue {
63 id,
64 node_id,
65 url,
66 actor: Box::new(actor),
67 event,
68 commit_id,
69 commit_url,
70 created_at,
71 performed_via_github_app: performed_via_github_app.map(Box::new),
72 label: Box::new(label),
73 assignee: Box::new(assignee),
74 assigner: Box::new(assigner),
75 milestone: Box::new(milestone),
76 rename: Box::new(rename),
77 review_requester: Box::new(review_requester),
78 requested_team: None,
79 requested_reviewer: None,
80 dismissed_review: Box::new(dismissed_review),
81 lock_reason,
82 project_card: None,
83 }
84 }
85}
86