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