- Run cargo fmt on all crates - Fix regex patterns using unsupported lookahead in patterns.rs - Replace unwrap() calls with compile_regex() helper - Fix never type fallback in GitHub tracker - Fix redundant field name in findings page - Allow enum_variant_names for Dioxus Route enum - Fix &mut Vec -> &mut [T] clippy lint in sbom.rs - Mark unused-but-intended APIs with #[allow(dead_code)] Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
53 lines
1.3 KiB
Rust
53 lines
1.3 KiB
Rust
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
|
#[serde(rename_all = "lowercase")]
|
|
pub enum CveSource {
|
|
Osv,
|
|
Nvd,
|
|
SearXNG,
|
|
}
|
|
|
|
#[derive(Debug, Clone, Serialize, Deserialize)]
|
|
pub struct CveAlert {
|
|
#[serde(rename = "_id", skip_serializing_if = "Option::is_none")]
|
|
pub id: Option<bson::oid::ObjectId>,
|
|
pub cve_id: String,
|
|
pub repo_id: String,
|
|
pub affected_package: String,
|
|
pub affected_version: String,
|
|
pub source: CveSource,
|
|
pub severity: Option<String>,
|
|
pub cvss_score: Option<f64>,
|
|
pub summary: Option<String>,
|
|
pub llm_impact_summary: Option<String>,
|
|
pub references: Vec<String>,
|
|
pub created_at: DateTime<Utc>,
|
|
}
|
|
|
|
impl CveAlert {
|
|
pub fn new(
|
|
cve_id: String,
|
|
repo_id: String,
|
|
affected_package: String,
|
|
affected_version: String,
|
|
source: CveSource,
|
|
) -> Self {
|
|
Self {
|
|
id: None,
|
|
cve_id,
|
|
repo_id,
|
|
affected_package,
|
|
affected_version,
|
|
source,
|
|
severity: None,
|
|
cvss_score: None,
|
|
summary: None,
|
|
llm_impact_summary: None,
|
|
references: Vec::new(),
|
|
created_at: Utc::now(),
|
|
}
|
|
}
|
|
}
|