Skip to main content

ephemeris_forge_github/operation/
security.rs

1use std::fmt;
2
3use crate::api::request::{AnalysisPatch, CodeScanningPatch};
4
5/// One write to the repository's security settings.
6#[derive(Clone, Debug, Eq, PartialEq)]
7pub enum Operation {
8    /// Patch the changed `security_and_analysis` properties.
9    PatchAnalysis(AnalysisPatch),
10    /// Turn Dependabot alerts on or off.
11    SetVulnerabilityAlerts(bool),
12    /// Turn Dependabot security updates on or off.
13    SetAutomatedSecurityFixes(bool),
14    /// Turn private vulnerability reporting on or off.
15    SetPrivateVulnerabilityReporting(bool),
16    /// Patch the changed code scanning default setup properties.
17    PatchCodeScanning(CodeScanningPatch),
18}
19
20impl fmt::Display for Operation {
21    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
22        f.write_str(match self {
23            Self::PatchAnalysis(_) => "security and analysis",
24            Self::SetVulnerabilityAlerts(_) => "vulnerability alerts",
25            Self::SetAutomatedSecurityFixes(_) => "automated security fixes",
26            Self::SetPrivateVulnerabilityReporting(_) => "private vulnerability reporting",
27            Self::PatchCodeScanning(_) => "code scanning default setup",
28        })
29    }
30}