1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhookCheckSuiteRequestedCheckSuite {
17 #[serde(rename = "after", deserialize_with = "Option::deserialize")]
18 pub after: Option<String>,
19 #[serde(rename = "app")]
20 pub app: Box<models::App3>,
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 WebhookCheckSuiteRequestedCheckSuite {
62 pub fn new(after: Option<String>, app: models::App3, 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) -> WebhookCheckSuiteRequestedCheckSuite {
64 WebhookCheckSuiteRequestedCheckSuite {
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 #[serde(rename = "skipped")]
104 Skipped,
105}
106
107impl Default for Conclusion {
108 fn default() -> Conclusion {
109 Self::Success
110 }
111}
112#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
114pub enum Status {
115 #[serde(rename = "requested")]
116 Requested,
117 #[serde(rename = "in_progress")]
118 InProgress,
119 #[serde(rename = "completed")]
120 Completed,
121 #[serde(rename = "queued")]
122 Queued,
123}
124
125impl Default for Status {
126 fn default() -> Status {
127 Self::Requested
128 }
129}
130