1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SimpleCheckSuite {
17 #[serde(rename = "after", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
18 pub after: Option<Option<String>>,
19 #[serde(rename = "app", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
20 pub app: Option<Option<Box<models::Integration>>>,
21 #[serde(rename = "before", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
22 pub before: Option<Option<String>>,
23 #[serde(rename = "conclusion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
24 pub conclusion: Option<Option<Conclusion>>,
25 #[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
26 pub created_at: Option<String>,
27 #[serde(rename = "head_branch", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28 pub head_branch: Option<Option<String>>,
29 #[serde(rename = "head_sha", skip_serializing_if = "Option::is_none")]
31 pub head_sha: Option<String>,
32 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
33 pub id: Option<i32>,
34 #[serde(rename = "node_id", skip_serializing_if = "Option::is_none")]
35 pub node_id: Option<String>,
36 #[serde(rename = "pull_requests", skip_serializing_if = "Option::is_none")]
37 pub pull_requests: Option<Vec<models::PullRequestMinimal>>,
38 #[serde(rename = "repository", skip_serializing_if = "Option::is_none")]
39 pub repository: Option<Box<models::MinimalRepository>>,
40 #[serde(rename = "status", skip_serializing_if = "Option::is_none")]
41 pub status: Option<Status>,
42 #[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
43 pub updated_at: Option<String>,
44 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
45 pub url: Option<String>,
46}
47
48impl SimpleCheckSuite {
49 pub fn new() -> SimpleCheckSuite {
51 SimpleCheckSuite {
52 after: None,
53 app: None,
54 before: None,
55 conclusion: None,
56 created_at: None,
57 head_branch: None,
58 head_sha: None,
59 id: None,
60 node_id: None,
61 pull_requests: None,
62 repository: None,
63 status: None,
64 updated_at: None,
65 url: None,
66 }
67 }
68}
69#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
71pub enum Conclusion {
72 #[serde(rename = "success")]
73 Success,
74 #[serde(rename = "failure")]
75 Failure,
76 #[serde(rename = "neutral")]
77 Neutral,
78 #[serde(rename = "cancelled")]
79 Cancelled,
80 #[serde(rename = "skipped")]
81 Skipped,
82 #[serde(rename = "timed_out")]
83 TimedOut,
84 #[serde(rename = "action_required")]
85 ActionRequired,
86 #[serde(rename = "stale")]
87 Stale,
88 #[serde(rename = "startup_failure")]
89 StartupFailure,
90}
91
92impl Default for Conclusion {
93 fn default() -> Conclusion {
94 Self::Success
95 }
96}
97#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
99pub enum Status {
100 #[serde(rename = "queued")]
101 Queued,
102 #[serde(rename = "in_progress")]
103 InProgress,
104 #[serde(rename = "completed")]
105 Completed,
106 #[serde(rename = "pending")]
107 Pending,
108 #[serde(rename = "waiting")]
109 Waiting,
110}
111
112impl Default for Status {
113 fn default() -> Status {
114 Self::Queued
115 }
116}
117