mantra_schema/report/
sources.rs1use relative_path::RelativePathBuf;
2
3use crate::{product::ProductId, report::Aggregated};
4
5#[derive(
6 Debug, Clone, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize, schemars::JsonSchema,
7)]
8#[serde(rename_all = "snake_case")]
9pub struct SourceReference {
10 #[schemars(with = "String")]
11 pub path: RelativePathBuf,
12}
13
14#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize, schemars::JsonSchema)]
15pub struct SourceProductCoverageSummary {
16 pub product_id: ProductId,
17 pub lines: CoveredLinesSummary,
18}
19
20#[derive(
21 Debug, Clone, Default, PartialEq, serde::Serialize, serde::Deserialize, schemars::JsonSchema,
22)]
23#[serde(rename_all = "snake_case")]
24pub struct CoveredLinesSummary {
25 pub total: i64,
26 pub covered: Aggregated,
27 pub excluded: Aggregated,
28 pub overridden: Aggregated,
29 pub uncovered: Aggregated,
30}