provenant/output_schema/
license_index_provenance.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize, Debug, Clone)]
4pub struct OutputLicenseIndexProvenance {
5 pub source: String,
6 pub dataset_fingerprint: String,
7 #[serde(default, skip_serializing_if = "Vec::is_empty")]
8 pub ignored_rules: Vec<String>,
9 #[serde(default, skip_serializing_if = "Vec::is_empty")]
10 pub ignored_licenses: Vec<String>,
11 #[serde(default, skip_serializing_if = "Vec::is_empty")]
12 pub ignored_rules_due_to_licenses: Vec<String>,
13 #[serde(default, skip_serializing_if = "Vec::is_empty")]
14 pub added_rules: Vec<String>,
15 #[serde(default, skip_serializing_if = "Vec::is_empty")]
16 pub replaced_rules: Vec<String>,
17 #[serde(default, skip_serializing_if = "Vec::is_empty")]
18 pub added_licenses: Vec<String>,
19 #[serde(default, skip_serializing_if = "Vec::is_empty")]
20 pub replaced_licenses: Vec<String>,
21}
22
23impl From<&crate::models::LicenseIndexProvenance> for OutputLicenseIndexProvenance {
24 fn from(value: &crate::models::LicenseIndexProvenance) -> Self {
25 Self {
26 source: value.source.clone(),
27 dataset_fingerprint: value.dataset_fingerprint.clone(),
28 ignored_rules: value.ignored_rules.clone(),
29 ignored_licenses: value.ignored_licenses.clone(),
30 ignored_rules_due_to_licenses: value.ignored_rules_due_to_licenses.clone(),
31 added_rules: value.added_rules.clone(),
32 replaced_rules: value.replaced_rules.clone(),
33 added_licenses: value.added_licenses.clone(),
34 replaced_licenses: value.replaced_licenses.clone(),
35 }
36 }
37}