use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SimpleCheckSuite {
#[serde(rename = "after", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub after: Option<Option<String>>,
#[serde(rename = "app", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub app: Option<Option<Box<models::Integration>>>,
#[serde(rename = "before", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub before: Option<Option<String>>,
#[serde(rename = "conclusion", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub conclusion: Option<Option<Conclusion>>,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "head_branch", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub head_branch: Option<Option<String>>,
#[serde(rename = "head_sha", skip_serializing_if = "Option::is_none")]
pub head_sha: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i32>,
#[serde(rename = "node_id", skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
#[serde(rename = "pull_requests", skip_serializing_if = "Option::is_none")]
pub pull_requests: Option<Vec<models::PullRequestMinimal>>,
#[serde(rename = "repository", skip_serializing_if = "Option::is_none")]
pub repository: Option<Box<models::MinimalRepository>>,
#[serde(rename = "status", skip_serializing_if = "Option::is_none")]
pub status: Option<Status>,
#[serde(rename = "updated_at", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<String>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
}
impl SimpleCheckSuite {
pub fn new() -> SimpleCheckSuite {
SimpleCheckSuite {
after: None,
app: None,
before: None,
conclusion: None,
created_at: None,
head_branch: None,
head_sha: None,
id: None,
node_id: None,
pull_requests: None,
repository: None,
status: None,
updated_at: None,
url: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Conclusion {
#[serde(rename = "success")]
Success,
#[serde(rename = "failure")]
Failure,
#[serde(rename = "neutral")]
Neutral,
#[serde(rename = "cancelled")]
Cancelled,
#[serde(rename = "skipped")]
Skipped,
#[serde(rename = "timed_out")]
TimedOut,
#[serde(rename = "action_required")]
ActionRequired,
#[serde(rename = "stale")]
Stale,
#[serde(rename = "startup_failure")]
StartupFailure,
}
impl Default for Conclusion {
fn default() -> Conclusion {
Self::Success
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "queued")]
Queued,
#[serde(rename = "in_progress")]
InProgress,
#[serde(rename = "completed")]
Completed,
#[serde(rename = "pending")]
Pending,
#[serde(rename = "waiting")]
Waiting,
}
impl Default for Status {
fn default() -> Status {
Self::Queued
}
}