openapi_github/models/
webhook_code_scanning_alert_appeared_in_branch_alert.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhookCodeScanningAlertAppearedInBranchAlert {
17 #[serde(rename = "created_at")]
19 pub created_at: String,
20 #[serde(rename = "dismissed_at", deserialize_with = "Option::deserialize")]
22 pub dismissed_at: Option<String>,
23 #[serde(rename = "dismissed_by", deserialize_with = "Option::deserialize")]
24 pub dismissed_by: Option<Box<models::User>>,
25 #[serde(rename = "dismissed_reason", deserialize_with = "Option::deserialize")]
27 pub dismissed_reason: Option<DismissedReason>,
28 #[serde(rename = "html_url")]
30 pub html_url: String,
31 #[serde(rename = "most_recent_instance", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
32 pub most_recent_instance: Option<Option<Box<models::AlertInstance>>>,
33 #[serde(rename = "number")]
35 pub number: i32,
36 #[serde(rename = "rule")]
37 pub rule: Box<models::WebhookCodeScanningAlertAppearedInBranchAlertRule>,
38 #[serde(rename = "state")]
40 pub state: State,
41 #[serde(rename = "tool")]
42 pub tool: Box<models::WebhookCodeScanningAlertAppearedInBranchAlertTool>,
43 #[serde(rename = "url")]
44 pub url: String,
45}
46
47impl WebhookCodeScanningAlertAppearedInBranchAlert {
48 pub fn new(created_at: String, dismissed_at: Option<String>, dismissed_by: Option<models::User>, dismissed_reason: Option<DismissedReason>, html_url: String, number: i32, rule: models::WebhookCodeScanningAlertAppearedInBranchAlertRule, state: State, tool: models::WebhookCodeScanningAlertAppearedInBranchAlertTool, url: String) -> WebhookCodeScanningAlertAppearedInBranchAlert {
50 WebhookCodeScanningAlertAppearedInBranchAlert {
51 created_at,
52 dismissed_at,
53 dismissed_by: dismissed_by.map(Box::new),
54 dismissed_reason,
55 html_url,
56 most_recent_instance: None,
57 number,
58 rule: Box::new(rule),
59 state,
60 tool: Box::new(tool),
61 url,
62 }
63 }
64}
65#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
67pub enum DismissedReason {
68 #[serde(rename = "false positive")]
69 FalsePositive,
70 #[serde(rename = "won't fix")]
71 WonQuoteTFix,
72 #[serde(rename = "used in tests")]
73 UsedInTests,
74}
75
76impl Default for DismissedReason {
77 fn default() -> DismissedReason {
78 Self::FalsePositive
79 }
80}
81#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
83pub enum State {
84 #[serde(rename = "open")]
85 Open,
86 #[serde(rename = "dismissed")]
87 Dismissed,
88 #[serde(rename = "fixed")]
89 Fixed,
90}
91
92impl Default for State {
93 fn default() -> State {
94 Self::Open
95 }
96}
97