1use super::BuildTargetIdentifier;
2use serde::{Deserialize, Serialize};
3use serde_json::Value;
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
8#[serde(rename_all = "camelCase")]
9pub struct BuildTargetRun {
10 target: BuildTargetIdentifier,
12
13 #[serde(skip_serializing_if = "Option::is_none")]
16 origin_id: Option<String>,
17
18 #[serde(skip_serializing_if = "Option::is_none")]
20 arguments: Option<String>,
21
22 #[serde(skip_serializing_if = "Option::is_none")]
24 data_kind: Option<String>,
25
26 #[serde(skip_serializing_if = "Option::is_none")]
29 data: Option<Value>,
30}
31
32impl BuildTargetRun {
33 pub fn new(
34 target: BuildTargetIdentifier,
35 origin_id: Option<String>,
36 arguments: Option<String>,
37 data_kind: Option<String>,
38 data: Option<Value>,
39 ) -> Self {
40 Self {
41 target,
42 origin_id,
43 arguments,
44 data_kind,
45 data,
46 }
47 }
48 pub fn new_simple(target: BuildTargetIdentifier) -> Self {
49 Self {
50 target,
51 origin_id: None,
52 arguments: None,
53 data_kind: None,
54 data: None,
55 }
56 }
57
58 pub fn target(&self) -> &BuildTargetIdentifier {
60 &self.target
61 }
62
63 pub fn set_target(&mut self, target: BuildTargetIdentifier) {
65 self.target = target;
66 }
67
68 pub fn origin_id(&self) -> Option<&String> {
70 self.origin_id.as_ref()
71 }
72
73 pub fn set_origin_id(&mut self, origin_id: Option<String>) {
75 self.origin_id = origin_id;
76 }
77
78 pub fn arguments(&self) -> Option<&String> {
80 self.arguments.as_ref()
81 }
82
83 pub fn set_arguments(&mut self, arguments: Option<String>) {
85 self.arguments = arguments;
86 }
87
88 pub fn data_kind(&self) -> Option<&String> {
90 self.data_kind.as_ref()
91 }
92
93 pub fn set_data_kind(&mut self, data_kind: Option<String>) {
95 self.data_kind = data_kind;
96 }
97
98 pub fn data(&self) -> Option<&Value> {
100 self.data.as_ref()
101 }
102
103 pub fn set_data(&mut self, data: Option<Value>) {
105 self.data = data;
106 }
107}
108
109#[derive(Debug, Serialize, Deserialize, PartialEq, Eq)]
111#[serde(rename_all = "camelCase")]
112pub struct BuildTargetRunResult {
113 #[serde(skip_serializing_if = "Option::is_none")]
115 origin_id: Option<String>,
116
117 status_code: usize,
119}
120
121impl BuildTargetRunResult {
122 pub fn new(origin_id: Option<String>, status_code: usize) -> Self {
123 Self {
124 origin_id,
125 status_code,
126 }
127 }
128
129 pub fn origin_id(&self) -> Option<&String> {
131 self.origin_id.as_ref()
132 }
133
134 pub fn status_code(&self) -> usize {
136 self.status_code
137 }
138
139 pub fn set_origin_id(&mut self, origin_id: Option<String>) {
141 self.origin_id = origin_id;
142 }
143
144 pub fn set_status_code(&mut self, status_code: usize) {
146 self.status_code = status_code;
147 }
148}