1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhookCheckSuiteRerequestedCheckSuite {
17 #[serde(rename = "after", deserialize_with = "Option::deserialize")]
18 pub after: Option<String>,
19 #[serde(rename = "app")]
20 pub app: Box<models::App4>,
21 #[serde(rename = "before", deserialize_with = "Option::deserialize")]
22 pub before: Option<String>,
23 #[serde(rename = "check_runs_url")]
24 pub check_runs_url: String,
25 #[serde(rename = "conclusion", deserialize_with = "Option::deserialize")]
27 pub conclusion: Option<Conclusion>,
28 #[serde(rename = "created_at")]
29 pub created_at: String,
30 #[serde(rename = "head_branch", deserialize_with = "Option::deserialize")]
32 pub head_branch: Option<String>,
33 #[serde(rename = "head_commit")]
34 pub head_commit: Box<models::SimpleCommit>,
35 #[serde(rename = "head_sha")]
37 pub head_sha: String,
38 #[serde(rename = "id")]
39 pub id: i32,
40 #[serde(rename = "latest_check_runs_count")]
41 pub latest_check_runs_count: i32,
42 #[serde(rename = "node_id")]
43 pub node_id: String,
44 #[serde(rename = "pull_requests")]
46 pub pull_requests: Vec<models::CheckRunPullRequest>,
47 #[serde(rename = "rerequestable", skip_serializing_if = "Option::is_none")]
48 pub rerequestable: Option<bool>,
49 #[serde(rename = "runs_rerequestable", skip_serializing_if = "Option::is_none")]
50 pub runs_rerequestable: Option<bool>,
51 #[serde(rename = "status", deserialize_with = "Option::deserialize")]
53 pub status: Option<Status>,
54 #[serde(rename = "updated_at")]
55 pub updated_at: String,
56 #[serde(rename = "url")]
58 pub url: String,
59}
60
61impl WebhookCheckSuiteRerequestedCheckSuite {
62 pub fn new(after: Option<String>, app: models::App4, before: Option<String>, check_runs_url: String, conclusion: Option<Conclusion>, created_at: String, head_branch: Option<String>, head_commit: models::SimpleCommit, head_sha: String, id: i32, latest_check_runs_count: i32, node_id: String, pull_requests: Vec<models::CheckRunPullRequest>, status: Option<Status>, updated_at: String, url: String) -> WebhookCheckSuiteRerequestedCheckSuite {
64 WebhookCheckSuiteRerequestedCheckSuite {
65 after,
66 app: Box::new(app),
67 before,
68 check_runs_url,
69 conclusion,
70 created_at,
71 head_branch,
72 head_commit: Box::new(head_commit),
73 head_sha,
74 id,
75 latest_check_runs_count,
76 node_id,
77 pull_requests,
78 rerequestable: None,
79 runs_rerequestable: None,
80 status,
81 updated_at,
82 url,
83 }
84 }
85}
86#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
88pub enum Conclusion {
89 #[serde(rename = "success")]
90 Success,
91 #[serde(rename = "failure")]
92 Failure,
93 #[serde(rename = "neutral")]
94 Neutral,
95 #[serde(rename = "cancelled")]
96 Cancelled,
97 #[serde(rename = "timed_out")]
98 TimedOut,
99 #[serde(rename = "action_required")]
100 ActionRequired,
101 #[serde(rename = "stale")]
102 Stale,
103}
104
105impl Default for Conclusion {
106 fn default() -> Conclusion {
107 Self::Success
108 }
109}
110#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
112pub enum Status {
113 #[serde(rename = "requested")]
114 Requested,
115 #[serde(rename = "in_progress")]
116 InProgress,
117 #[serde(rename = "completed")]
118 Completed,
119 #[serde(rename = "queued")]
120 Queued,
121}
122
123impl Default for Status {
124 fn default() -> Status {
125 Self::Requested
126 }
127}
128