use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct SecretScanningAlert {
#[serde(rename = "number", skip_serializing_if = "Option::is_none")]
pub number: Option<i32>,
#[serde(rename = "created_at", skip_serializing_if = "Option::is_none")]
pub created_at: Option<String>,
#[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub updated_at: Option<Option<String>>,
#[serde(rename = "url", skip_serializing_if = "Option::is_none")]
pub url: Option<String>,
#[serde(rename = "html_url", skip_serializing_if = "Option::is_none")]
pub html_url: Option<String>,
#[serde(rename = "locations_url", skip_serializing_if = "Option::is_none")]
pub locations_url: Option<String>,
#[serde(rename = "state", skip_serializing_if = "Option::is_none")]
pub state: Option<models::SecretScanningAlertState>,
#[serde(rename = "resolution", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub resolution: Option<Option<models::SecretScanningAlertResolution>>,
#[serde(rename = "resolved_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub resolved_at: Option<Option<String>>,
#[serde(rename = "resolved_by", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub resolved_by: Option<Option<Box<models::NullableSimpleUser>>>,
#[serde(rename = "resolution_comment", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub resolution_comment: Option<Option<String>>,
#[serde(rename = "secret_type", skip_serializing_if = "Option::is_none")]
pub secret_type: Option<String>,
#[serde(rename = "secret_type_display_name", skip_serializing_if = "Option::is_none")]
pub secret_type_display_name: Option<String>,
#[serde(rename = "secret", skip_serializing_if = "Option::is_none")]
pub secret: Option<String>,
#[serde(rename = "push_protection_bypassed", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub push_protection_bypassed: Option<Option<bool>>,
#[serde(rename = "push_protection_bypassed_by", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub push_protection_bypassed_by: Option<Option<Box<models::NullableSimpleUser>>>,
#[serde(rename = "push_protection_bypassed_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub push_protection_bypassed_at: Option<Option<String>>,
#[serde(rename = "validity", skip_serializing_if = "Option::is_none")]
pub validity: Option<Validity>,
}
impl SecretScanningAlert {
pub fn new() -> SecretScanningAlert {
SecretScanningAlert {
number: None,
created_at: None,
updated_at: None,
url: None,
html_url: None,
locations_url: None,
state: None,
resolution: None,
resolved_at: None,
resolved_by: None,
resolution_comment: None,
secret_type: None,
secret_type_display_name: None,
secret: None,
push_protection_bypassed: None,
push_protection_bypassed_by: None,
push_protection_bypassed_at: None,
validity: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Validity {
#[serde(rename = "active")]
Active,
#[serde(rename = "inactive")]
Inactive,
#[serde(rename = "unknown")]
Unknown,
}
impl Default for Validity {
fn default() -> Validity {
Self::Active
}
}