pub struct GroupedFinding {Show 13 fields
pub id: String,
pub title: String,
pub description: String,
pub severity: AuditSeverity,
pub category: String,
pub cwe_id: Option<String>,
pub cvss_score: Option<f32>,
pub impact: String,
pub recommendation: String,
pub references: Vec<String>,
pub locations: Vec<FindingLocation>,
pub instance_count: usize,
pub ai_analysis: Option<AIAnalysis>,
}Expand description
Grouped audit findings of the same type in the same file
Fields§
§id: String§title: String§description: String§severity: AuditSeverity§category: String§cwe_id: Option<String>§cvss_score: Option<f32>§impact: String§recommendation: String§references: Vec<String>§locations: Vec<FindingLocation>§instance_count: usize§ai_analysis: Option<AIAnalysis>Implementations§
Source§impl GroupedFinding
impl GroupedFinding
Sourcepub fn from_finding(finding: &AuditFinding) -> Self
pub fn from_finding(finding: &AuditFinding) -> Self
Create a new grouped finding from a single finding
Sourcepub fn add_instance(&mut self, finding: &AuditFinding)
pub fn add_instance(&mut self, finding: &AuditFinding)
Add a finding instance to this group
Sourcepub fn grouping_key(finding: &AuditFinding) -> String
pub fn grouping_key(finding: &AuditFinding) -> String
Get a unique key for grouping findings
Sourcepub fn matches_finding(&self, finding: &AuditFinding) -> bool
pub fn matches_finding(&self, finding: &AuditFinding) -> bool
Check if a finding belongs to this group
Trait Implementations§
Source§impl Clone for GroupedFinding
impl Clone for GroupedFinding
Source§impl Debug for GroupedFinding
impl Debug for GroupedFinding
Source§impl<'de> Deserialize<'de> for GroupedFinding
impl<'de> Deserialize<'de> for GroupedFinding
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for GroupedFinding
impl RefUnwindSafe for GroupedFinding
impl Send for GroupedFinding
impl Sync for GroupedFinding
impl Unpin for GroupedFinding
impl UnsafeUnpin for GroupedFinding
impl UnwindSafe for GroupedFinding
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more