1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum CreateFieldError {
22 Status400(crate::models::GetAppointment403Response),
23 Status403(crate::models::GetAppointment403Response),
24 Status404(),
25 Status422(crate::models::HttpValidationError),
26 UnknownValue(serde_json::Value),
27}
28
29#[derive(Debug, Clone, Serialize, Deserialize)]
31#[serde(untagged)]
32pub enum DeleteFieldError {
33 Status400(crate::models::GetAppointment403Response),
34 Status403(crate::models::GetAppointment403Response),
35 Status404(),
36 Status422(crate::models::HttpValidationError),
37 UnknownValue(serde_json::Value),
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize)]
42#[serde(untagged)]
43pub enum GetFieldError {
44 Status403(crate::models::GetAppointment403Response),
45 Status404(crate::models::GetAppointment403Response),
46 Status422(crate::models::HttpValidationError),
47 UnknownValue(serde_json::Value),
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize)]
52#[serde(untagged)]
53pub enum UpdateFieldError {
54 Status400(crate::models::GetAppointment403Response),
55 Status403(crate::models::GetAppointment403Response),
56 Status404(crate::models::GetAppointment403Response),
57 Status422(crate::models::HttpValidationError),
58 UnknownValue(serde_json::Value),
59}
60
61
62pub async fn create_field(configuration: &configuration::Configuration, field: crate::models::Field, x_access_token: Option<&str>, x_secret_token: Option<&str>, authorization: Option<&str>, ehelply_active_participant: Option<&str>, ehelply_project: Option<&str>, ehelply_data: Option<&str>) -> Result<crate::models::CreateField200Response, Error<CreateFieldError>> {
63 let local_var_configuration = configuration;
64
65 let local_var_client = &local_var_configuration.client;
66
67 let local_var_uri_str = format!("{}/fields/fields", local_var_configuration.base_path);
68 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
69
70 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
71 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
72 }
73 if let Some(local_var_param_value) = x_access_token {
74 local_var_req_builder = local_var_req_builder.header("x-access-token", local_var_param_value.to_string());
75 }
76 if let Some(local_var_param_value) = x_secret_token {
77 local_var_req_builder = local_var_req_builder.header("x-secret-token", local_var_param_value.to_string());
78 }
79 if let Some(local_var_param_value) = authorization {
80 local_var_req_builder = local_var_req_builder.header("authorization", local_var_param_value.to_string());
81 }
82 if let Some(local_var_param_value) = ehelply_active_participant {
83 local_var_req_builder = local_var_req_builder.header("ehelply-active-participant", local_var_param_value.to_string());
84 }
85 if let Some(local_var_param_value) = ehelply_project {
86 local_var_req_builder = local_var_req_builder.header("ehelply-project", local_var_param_value.to_string());
87 }
88 if let Some(local_var_param_value) = ehelply_data {
89 local_var_req_builder = local_var_req_builder.header("ehelply-data", local_var_param_value.to_string());
90 }
91 local_var_req_builder = local_var_req_builder.json(&field);
92
93 let local_var_req = local_var_req_builder.build()?;
94 let local_var_resp = local_var_client.execute(local_var_req).await?;
95
96 let local_var_status = local_var_resp.status();
97 let local_var_content = local_var_resp.text().await?;
98
99 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
100 serde_json::from_str(&local_var_content).map_err(Error::from)
101 } else {
102 let local_var_entity: Option<CreateFieldError> = serde_json::from_str(&local_var_content).ok();
103 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
104 Err(Error::ResponseError(local_var_error))
105 }
106}
107
108pub async fn delete_field(configuration: &configuration::Configuration, field_uuid: &str, x_access_token: Option<&str>, x_secret_token: Option<&str>, authorization: Option<&str>, ehelply_active_participant: Option<&str>, ehelply_project: Option<&str>, ehelply_data: Option<&str>) -> Result<crate::models::DeleteField200Response, Error<DeleteFieldError>> {
109 let local_var_configuration = configuration;
110
111 let local_var_client = &local_var_configuration.client;
112
113 let local_var_uri_str = format!("{}/fields/fields/{field_uuid}", local_var_configuration.base_path, field_uuid=crate::apis::urlencode(field_uuid));
114 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
115
116 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
117 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
118 }
119 if let Some(local_var_param_value) = x_access_token {
120 local_var_req_builder = local_var_req_builder.header("x-access-token", local_var_param_value.to_string());
121 }
122 if let Some(local_var_param_value) = x_secret_token {
123 local_var_req_builder = local_var_req_builder.header("x-secret-token", local_var_param_value.to_string());
124 }
125 if let Some(local_var_param_value) = authorization {
126 local_var_req_builder = local_var_req_builder.header("authorization", local_var_param_value.to_string());
127 }
128 if let Some(local_var_param_value) = ehelply_active_participant {
129 local_var_req_builder = local_var_req_builder.header("ehelply-active-participant", local_var_param_value.to_string());
130 }
131 if let Some(local_var_param_value) = ehelply_project {
132 local_var_req_builder = local_var_req_builder.header("ehelply-project", local_var_param_value.to_string());
133 }
134 if let Some(local_var_param_value) = ehelply_data {
135 local_var_req_builder = local_var_req_builder.header("ehelply-data", local_var_param_value.to_string());
136 }
137
138 let local_var_req = local_var_req_builder.build()?;
139 let local_var_resp = local_var_client.execute(local_var_req).await?;
140
141 let local_var_status = local_var_resp.status();
142 let local_var_content = local_var_resp.text().await?;
143
144 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
145 serde_json::from_str(&local_var_content).map_err(Error::from)
146 } else {
147 let local_var_entity: Option<DeleteFieldError> = serde_json::from_str(&local_var_content).ok();
148 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
149 Err(Error::ResponseError(local_var_error))
150 }
151}
152
153pub async fn get_field(configuration: &configuration::Configuration, field_uuid: &str, x_access_token: Option<&str>, x_secret_token: Option<&str>, authorization: Option<&str>, ehelply_active_participant: Option<&str>, ehelply_project: Option<&str>, ehelply_data: Option<&str>) -> Result<crate::models::FieldDynamo, Error<GetFieldError>> {
154 let local_var_configuration = configuration;
155
156 let local_var_client = &local_var_configuration.client;
157
158 let local_var_uri_str = format!("{}/fields/fields/{field_uuid}", local_var_configuration.base_path, field_uuid=crate::apis::urlencode(field_uuid));
159 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
160
161 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
162 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
163 }
164 if let Some(local_var_param_value) = x_access_token {
165 local_var_req_builder = local_var_req_builder.header("x-access-token", local_var_param_value.to_string());
166 }
167 if let Some(local_var_param_value) = x_secret_token {
168 local_var_req_builder = local_var_req_builder.header("x-secret-token", local_var_param_value.to_string());
169 }
170 if let Some(local_var_param_value) = authorization {
171 local_var_req_builder = local_var_req_builder.header("authorization", local_var_param_value.to_string());
172 }
173 if let Some(local_var_param_value) = ehelply_active_participant {
174 local_var_req_builder = local_var_req_builder.header("ehelply-active-participant", local_var_param_value.to_string());
175 }
176 if let Some(local_var_param_value) = ehelply_project {
177 local_var_req_builder = local_var_req_builder.header("ehelply-project", local_var_param_value.to_string());
178 }
179 if let Some(local_var_param_value) = ehelply_data {
180 local_var_req_builder = local_var_req_builder.header("ehelply-data", local_var_param_value.to_string());
181 }
182
183 let local_var_req = local_var_req_builder.build()?;
184 let local_var_resp = local_var_client.execute(local_var_req).await?;
185
186 let local_var_status = local_var_resp.status();
187 let local_var_content = local_var_resp.text().await?;
188
189 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
190 serde_json::from_str(&local_var_content).map_err(Error::from)
191 } else {
192 let local_var_entity: Option<GetFieldError> = serde_json::from_str(&local_var_content).ok();
193 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
194 Err(Error::ResponseError(local_var_error))
195 }
196}
197
198pub async fn update_field(configuration: &configuration::Configuration, field_uuid: &str, field: crate::models::Field, x_access_token: Option<&str>, x_secret_token: Option<&str>, authorization: Option<&str>, ehelply_active_participant: Option<&str>, ehelply_project: Option<&str>, ehelply_data: Option<&str>) -> Result<crate::models::UpdateField200Response, Error<UpdateFieldError>> {
199 let local_var_configuration = configuration;
200
201 let local_var_client = &local_var_configuration.client;
202
203 let local_var_uri_str = format!("{}/fields/fields/{field_uuid}", local_var_configuration.base_path, field_uuid=crate::apis::urlencode(field_uuid));
204 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
205
206 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
207 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
208 }
209 if let Some(local_var_param_value) = x_access_token {
210 local_var_req_builder = local_var_req_builder.header("x-access-token", local_var_param_value.to_string());
211 }
212 if let Some(local_var_param_value) = x_secret_token {
213 local_var_req_builder = local_var_req_builder.header("x-secret-token", local_var_param_value.to_string());
214 }
215 if let Some(local_var_param_value) = authorization {
216 local_var_req_builder = local_var_req_builder.header("authorization", local_var_param_value.to_string());
217 }
218 if let Some(local_var_param_value) = ehelply_active_participant {
219 local_var_req_builder = local_var_req_builder.header("ehelply-active-participant", local_var_param_value.to_string());
220 }
221 if let Some(local_var_param_value) = ehelply_project {
222 local_var_req_builder = local_var_req_builder.header("ehelply-project", local_var_param_value.to_string());
223 }
224 if let Some(local_var_param_value) = ehelply_data {
225 local_var_req_builder = local_var_req_builder.header("ehelply-data", local_var_param_value.to_string());
226 }
227 local_var_req_builder = local_var_req_builder.json(&field);
228
229 let local_var_req = local_var_req_builder.build()?;
230 let local_var_resp = local_var_client.execute(local_var_req).await?;
231
232 let local_var_status = local_var_resp.status();
233 let local_var_content = local_var_resp.text().await?;
234
235 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
236 serde_json::from_str(&local_var_content).map_err(Error::from)
237 } else {
238 let local_var_entity: Option<UpdateFieldError> = serde_json::from_str(&local_var_content).ok();
239 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
240 Err(Error::ResponseError(local_var_error))
241 }
242}
243