cwe_xml/cwe/
content_history.rs

1use serde::Deserialize;
2
3#[derive(Debug, Deserialize)]
4#[serde(deny_unknown_fields)]
5pub struct ContentHistory {
6    #[serde(rename = "$value")]
7    pub references: Vec<ContentHistoryChild>,
8}
9
10#[derive(Debug, Deserialize)]
11#[serde(deny_unknown_fields)]
12pub enum ContentHistoryChild {
13    #[serde(rename = "Submission")]
14    Submission(Submission),
15    #[serde(rename = "Modification")]
16    Modification(Modification),
17    #[serde(rename = "Contribution")]
18    Contribution(Contribution),
19    #[serde(rename = "Previous_Entry_Name")]
20    PreviousEntryName {
21        #[serde(rename = "@Date")]
22        date: String,
23        #[serde(rename = "@Version")]
24        version: Option<String>,
25        #[serde(rename = "$value")]
26        previous_entry_name: String,
27    },
28}
29
30#[derive(Debug, Deserialize)]
31#[serde(deny_unknown_fields)]
32pub struct Submission {
33    #[serde(rename = "Submission_Name")]
34    pub submission_name: Option<String>,
35    #[serde(rename = "Submission_Version")]
36    pub submission_version: Option<String>,
37    #[serde(rename = "Submission_Organization")]
38    pub submission_organization: Option<String>,
39    #[serde(rename = "Submission_Date")]
40    pub submission_date: String,
41    #[serde(rename = "Submission_ReleaseDate")]
42    pub submission_release_date: String,
43    #[serde(rename = "Submission_Comment")]
44    pub submission_comment: Option<String>,
45}
46
47#[derive(Debug, Deserialize)]
48#[serde(deny_unknown_fields)]
49pub struct Modification {
50    #[serde(rename = "Modification_Name")]
51    pub modification_name: Option<String>,
52    #[serde(rename = "Modification_Version")]
53    pub modification_version: Option<String>,
54    #[serde(rename = "Modification_Organization")]
55    pub modification_organization: Option<String>,
56    #[serde(rename = "Modification_Date")]
57    pub modification_date: String,
58    #[serde(rename = "Modification_ReleaseDate")]
59    pub modification_release_date: Option<String>,
60    #[serde(rename = "Modification_Importance")]
61    pub modification_importance: Option<String>,
62    #[serde(rename = "Modification_Comment")]
63    pub modification_comment: Option<String>,
64}
65
66#[derive(Debug, Deserialize)]
67#[serde(deny_unknown_fields)]
68pub struct Contribution {
69    #[serde(rename = "@Type")]
70    pub r#type: Option<String>,
71    #[serde(rename = "Contribution_Name")]
72    pub contribution_name: Option<String>,
73    #[serde(rename = "Contribution_Version")]
74    pub contribution_version: Option<String>,
75    #[serde(rename = "Contribution_ReleaseDate")]
76    pub contribution_release_date: Option<String>,
77    #[serde(rename = "Contribution_Organization")]
78    pub contribution_organization: Option<String>,
79    #[serde(rename = "Contribution_Date")]
80    pub contribution_date: String,
81    #[serde(rename = "Contribution_Comment")]
82    pub contribution_comment: Option<String>,
83}