Skip to main content

mantra_schema/report/
sources.rs

1use 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}