1use crate::{ExchangePhase, GaebVersion};
2
3#[derive(Debug, Clone, PartialEq, Eq)]
5pub struct Metadata {
6 pub namespace: String,
8 pub version: Option<GaebVersion>,
10 pub namespace_version: Option<GaebVersion>,
12 pub declared_version: Option<GaebVersion>,
14 pub version_text: Option<String>,
16 pub version_date: Option<String>,
17 pub phase: Option<ExchangePhase>,
19 pub namespace_phase: Option<ExchangePhase>,
21 pub declared_phase: Option<ExchangePhase>,
23 pub phase_code: Option<String>,
25 pub date: Option<String>,
26 pub time: Option<String>,
27 pub program_system: Option<String>,
28 pub program_name: Option<String>,
29}
30
31impl Metadata {
32 pub(crate) fn new(namespace: String) -> Self {
33 Self {
34 namespace,
35 version: None,
36 namespace_version: None,
37 declared_version: None,
38 version_text: None,
39 version_date: None,
40 phase: None,
41 namespace_phase: None,
42 declared_phase: None,
43 phase_code: None,
44 date: None,
45 time: None,
46 program_system: None,
47 program_name: None,
48 }
49 }
50}