ggapi/structs/
progression.rs1
2use serde::{
3 Deserialize,
4 Serialize,
5};
6
7use crate::{
8 phase::*,
9 phase_group::*,
10};
11
12#[derive(Clone, Default, Serialize, Deserialize)]
18pub struct GGProgression {
19
20 pub id: Option<i64>,
21
22 #[serde(rename(serialize = "originOrder", deserialize = "originOrder"))]
23 pub origin_order: Option<i64>,
24
25 #[serde(rename(serialize = "originPhase", deserialize = "originPhase"))]
26 pub origin_phase: Option<Box<GGPhase>>,
27
28 #[serde(rename(serialize = "originPhaseGroup", deserialize = "originPhaseGroup"))]
29 pub origin_phase_group: Option<Box<GGPhaseGroup>>,
30
31 #[serde(rename(serialize = "originPlacement", deserialize = "originPlacement"))]
32 pub origin_placement: Option<i64>,
33
34}
35
36impl GGProgression {
37
38 pub fn id(&self) -> i64 {
42 let mut result: i64 = 0;
43 if self.id.is_some() {
44 result = self.id.unwrap().clone();
45 }
46 return result;
47 }
48
49 pub fn origin_order(&self) -> i64 {
53 let mut result: i64 = 0;
54 if self.origin_order.is_some() {
55 result = self.origin_order.unwrap().clone();
56 }
57 return result;
58 }
59
60 pub fn origin_phase(&self) -> GGPhase {
64 let mut result: GGPhase = Default::default();
65 if self.origin_phase.is_some() {
66 result = *self.origin_phase.as_ref().unwrap().clone();
67 }
68 return result;
69 }
70
71 pub fn origin_phase_group(&self) -> GGPhaseGroup {
75 let mut result: GGPhaseGroup = Default::default();
76 if self.origin_phase_group.is_some() {
77 result = *self.origin_phase_group.as_ref().unwrap().clone();
78 }
79 return result;
80 }
81
82 pub fn origin_placement(&self) -> i64 {
86 let mut result: i64 = 0;
87 if self.origin_placement.is_some() {
88 result = self.origin_placement.unwrap().clone();
89 }
90 return result;
91 }
92
93}