1use reqwest;
13
14use crate::apis::ResponseContent;
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum AddPipelineError {
22 UnknownValue(serde_json::Value),
23}
24
25#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum DeletePipelineError {
29 UnknownValue(serde_json::Value),
30}
31
32#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum GetPipelineError {
36 UnknownValue(serde_json::Value),
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum GetPipelineConversionStatisticsError {
43 UnknownValue(serde_json::Value),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
48#[serde(untagged)]
49pub enum GetPipelineDealsError {
50 UnknownValue(serde_json::Value),
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum GetPipelineMovementStatisticsError {
57 UnknownValue(serde_json::Value),
58}
59
60#[derive(Debug, Clone, Serialize, Deserialize)]
62#[serde(untagged)]
63pub enum GetPipelinesError {
64 UnknownValue(serde_json::Value),
65}
66
67#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum UpdatePipelineError {
71 UnknownValue(serde_json::Value),
72}
73
74
75pub async fn add_pipeline(configuration: &configuration::Configuration, pipeline_request: Option<crate::models::PipelineRequest>) -> Result<crate::models::AddPipelineResponse200, Error<AddPipelineError>> {
77 let local_var_configuration = configuration;
78
79 let local_var_client = &local_var_configuration.client;
80
81 let local_var_uri_str = format!("{}/pipelines", local_var_configuration.base_path);
82 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
83
84 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
85 let local_var_key = local_var_apikey.key.clone();
86 let local_var_value = match local_var_apikey.prefix {
87 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
88 None => local_var_key,
89 };
90 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
91 }
92 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
93 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
94 }
95 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
96 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
97 };
98 local_var_req_builder = local_var_req_builder.json(&pipeline_request);
99
100 let local_var_req = local_var_req_builder.build()?;
101 let local_var_resp = local_var_client.execute(local_var_req).await?;
102
103 let local_var_status = local_var_resp.status();
104 let local_var_content = local_var_resp.text().await?;
105
106 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
107 serde_json::from_str(&local_var_content).map_err(Error::from)
108 } else {
109 let local_var_entity: Option<AddPipelineError> = serde_json::from_str(&local_var_content).ok();
110 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
111 Err(Error::ResponseError(local_var_error))
112 }
113}
114
115pub async fn delete_pipeline(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::DeletePipelineResponse200, Error<DeletePipelineError>> {
117 let local_var_configuration = configuration;
118
119 let local_var_client = &local_var_configuration.client;
120
121 let local_var_uri_str = format!("{}/pipelines/{id}", local_var_configuration.base_path, id=id);
122 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
123
124 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
125 let local_var_key = local_var_apikey.key.clone();
126 let local_var_value = match local_var_apikey.prefix {
127 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
128 None => local_var_key,
129 };
130 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
131 }
132 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
133 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
134 }
135 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
136 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
137 };
138
139 let local_var_req = local_var_req_builder.build()?;
140 let local_var_resp = local_var_client.execute(local_var_req).await?;
141
142 let local_var_status = local_var_resp.status();
143 let local_var_content = local_var_resp.text().await?;
144
145 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
146 serde_json::from_str(&local_var_content).map_err(Error::from)
147 } else {
148 let local_var_entity: Option<DeletePipelineError> = serde_json::from_str(&local_var_content).ok();
149 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
150 Err(Error::ResponseError(local_var_error))
151 }
152}
153
154pub async fn get_pipeline(configuration: &configuration::Configuration, id: i32, totals_convert_currency: Option<&str>) -> Result<crate::models::GetPipelineResponse200, Error<GetPipelineError>> {
156 let local_var_configuration = configuration;
157
158 let local_var_client = &local_var_configuration.client;
159
160 let local_var_uri_str = format!("{}/pipelines/{id}", local_var_configuration.base_path, id=id);
161 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
162
163 if let Some(ref local_var_str) = totals_convert_currency {
164 local_var_req_builder = local_var_req_builder.query(&[("totals_convert_currency", &local_var_str.to_string())]);
165 }
166 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
167 let local_var_key = local_var_apikey.key.clone();
168 let local_var_value = match local_var_apikey.prefix {
169 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
170 None => local_var_key,
171 };
172 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
173 }
174 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
175 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
176 }
177 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
178 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
179 };
180
181 let local_var_req = local_var_req_builder.build()?;
182 let local_var_resp = local_var_client.execute(local_var_req).await?;
183
184 let local_var_status = local_var_resp.status();
185 let local_var_content = local_var_resp.text().await?;
186
187 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
188 serde_json::from_str(&local_var_content).map_err(Error::from)
189 } else {
190 let local_var_entity: Option<GetPipelineError> = serde_json::from_str(&local_var_content).ok();
191 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
192 Err(Error::ResponseError(local_var_error))
193 }
194}
195
196pub async fn get_pipeline_conversion_statistics(configuration: &configuration::Configuration, id: i32, start_date: String, end_date: String, user_id: Option<i32>) -> Result<crate::models::GetPipelineConversionStatisticsResponse200, Error<GetPipelineConversionStatisticsError>> {
198 let local_var_configuration = configuration;
199
200 let local_var_client = &local_var_configuration.client;
201
202 let local_var_uri_str = format!("{}/pipelines/{id}/conversion_statistics", local_var_configuration.base_path, id=id);
203 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
204
205 local_var_req_builder = local_var_req_builder.query(&[("start_date", &start_date.to_string())]);
206 local_var_req_builder = local_var_req_builder.query(&[("end_date", &end_date.to_string())]);
207 if let Some(ref local_var_str) = user_id {
208 local_var_req_builder = local_var_req_builder.query(&[("user_id", &local_var_str.to_string())]);
209 }
210 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
211 let local_var_key = local_var_apikey.key.clone();
212 let local_var_value = match local_var_apikey.prefix {
213 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
214 None => local_var_key,
215 };
216 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
217 }
218 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
219 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
220 }
221 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
222 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
223 };
224
225 let local_var_req = local_var_req_builder.build()?;
226 let local_var_resp = local_var_client.execute(local_var_req).await?;
227
228 let local_var_status = local_var_resp.status();
229 let local_var_content = local_var_resp.text().await?;
230
231 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
232 serde_json::from_str(&local_var_content).map_err(Error::from)
233 } else {
234 let local_var_entity: Option<GetPipelineConversionStatisticsError> = serde_json::from_str(&local_var_content).ok();
235 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
236 Err(Error::ResponseError(local_var_error))
237 }
238}
239
240pub async fn get_pipeline_deals(configuration: &configuration::Configuration, id: i32, filter_id: Option<i32>, user_id: Option<i32>, everyone: Option<f32>, stage_id: Option<i32>, start: Option<i32>, limit: Option<i32>, get_summary: Option<f32>, totals_convert_currency: Option<&str>) -> Result<crate::models::GetStageDealsResponse200, Error<GetPipelineDealsError>> {
242 let local_var_configuration = configuration;
243
244 let local_var_client = &local_var_configuration.client;
245
246 let local_var_uri_str = format!("{}/pipelines/{id}/deals", local_var_configuration.base_path, id=id);
247 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
248
249 if let Some(ref local_var_str) = filter_id {
250 local_var_req_builder = local_var_req_builder.query(&[("filter_id", &local_var_str.to_string())]);
251 }
252 if let Some(ref local_var_str) = user_id {
253 local_var_req_builder = local_var_req_builder.query(&[("user_id", &local_var_str.to_string())]);
254 }
255 if let Some(ref local_var_str) = everyone {
256 local_var_req_builder = local_var_req_builder.query(&[("everyone", &local_var_str.to_string())]);
257 }
258 if let Some(ref local_var_str) = stage_id {
259 local_var_req_builder = local_var_req_builder.query(&[("stage_id", &local_var_str.to_string())]);
260 }
261 if let Some(ref local_var_str) = start {
262 local_var_req_builder = local_var_req_builder.query(&[("start", &local_var_str.to_string())]);
263 }
264 if let Some(ref local_var_str) = limit {
265 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
266 }
267 if let Some(ref local_var_str) = get_summary {
268 local_var_req_builder = local_var_req_builder.query(&[("get_summary", &local_var_str.to_string())]);
269 }
270 if let Some(ref local_var_str) = totals_convert_currency {
271 local_var_req_builder = local_var_req_builder.query(&[("totals_convert_currency", &local_var_str.to_string())]);
272 }
273 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
274 let local_var_key = local_var_apikey.key.clone();
275 let local_var_value = match local_var_apikey.prefix {
276 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
277 None => local_var_key,
278 };
279 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
280 }
281 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
282 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
283 }
284 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
285 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
286 };
287
288 let local_var_req = local_var_req_builder.build()?;
289 let local_var_resp = local_var_client.execute(local_var_req).await?;
290
291 let local_var_status = local_var_resp.status();
292 let local_var_content = local_var_resp.text().await?;
293
294 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
295 serde_json::from_str(&local_var_content).map_err(Error::from)
296 } else {
297 let local_var_entity: Option<GetPipelineDealsError> = serde_json::from_str(&local_var_content).ok();
298 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
299 Err(Error::ResponseError(local_var_error))
300 }
301}
302
303pub async fn get_pipeline_movement_statistics(configuration: &configuration::Configuration, id: i32, start_date: String, end_date: String, user_id: Option<i32>) -> Result<crate::models::GetPipelineMovementStatisticsResponse200, Error<GetPipelineMovementStatisticsError>> {
305 let local_var_configuration = configuration;
306
307 let local_var_client = &local_var_configuration.client;
308
309 let local_var_uri_str = format!("{}/pipelines/{id}/movement_statistics", local_var_configuration.base_path, id=id);
310 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
311
312 local_var_req_builder = local_var_req_builder.query(&[("start_date", &start_date.to_string())]);
313 local_var_req_builder = local_var_req_builder.query(&[("end_date", &end_date.to_string())]);
314 if let Some(ref local_var_str) = user_id {
315 local_var_req_builder = local_var_req_builder.query(&[("user_id", &local_var_str.to_string())]);
316 }
317 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
318 let local_var_key = local_var_apikey.key.clone();
319 let local_var_value = match local_var_apikey.prefix {
320 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
321 None => local_var_key,
322 };
323 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
324 }
325 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
326 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
327 }
328 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
329 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
330 };
331
332 let local_var_req = local_var_req_builder.build()?;
333 let local_var_resp = local_var_client.execute(local_var_req).await?;
334
335 let local_var_status = local_var_resp.status();
336 let local_var_content = local_var_resp.text().await?;
337
338 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
339 serde_json::from_str(&local_var_content).map_err(Error::from)
340 } else {
341 let local_var_entity: Option<GetPipelineMovementStatisticsError> = serde_json::from_str(&local_var_content).ok();
342 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
343 Err(Error::ResponseError(local_var_error))
344 }
345}
346
347pub async fn get_pipelines(configuration: &configuration::Configuration, ) -> Result<crate::models::GetPipelinesResponse200, Error<GetPipelinesError>> {
349 let local_var_configuration = configuration;
350
351 let local_var_client = &local_var_configuration.client;
352
353 let local_var_uri_str = format!("{}/pipelines", local_var_configuration.base_path);
354 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
355
356 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
357 let local_var_key = local_var_apikey.key.clone();
358 let local_var_value = match local_var_apikey.prefix {
359 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
360 None => local_var_key,
361 };
362 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
363 }
364 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
365 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
366 }
367 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
368 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
369 };
370
371 let local_var_req = local_var_req_builder.build()?;
372 let local_var_resp = local_var_client.execute(local_var_req).await?;
373
374 let local_var_status = local_var_resp.status();
375 let local_var_content = local_var_resp.text().await?;
376
377 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
378 serde_json::from_str(&local_var_content).map_err(Error::from)
379 } else {
380 let local_var_entity: Option<GetPipelinesError> = serde_json::from_str(&local_var_content).ok();
381 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
382 Err(Error::ResponseError(local_var_error))
383 }
384}
385
386pub async fn update_pipeline(configuration: &configuration::Configuration, id: i32, pipeline_request1: Option<crate::models::PipelineRequest1>) -> Result<crate::models::UpdatePipelineResponse200, Error<UpdatePipelineError>> {
388 let local_var_configuration = configuration;
389
390 let local_var_client = &local_var_configuration.client;
391
392 let local_var_uri_str = format!("{}/pipelines/{id}", local_var_configuration.base_path, id=id);
393 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
394
395 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
396 let local_var_key = local_var_apikey.key.clone();
397 let local_var_value = match local_var_apikey.prefix {
398 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
399 None => local_var_key,
400 };
401 local_var_req_builder = local_var_req_builder.query(&[("api_token", local_var_value)]);
402 }
403 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
404 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
405 }
406 if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
407 local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
408 };
409 local_var_req_builder = local_var_req_builder.json(&pipeline_request1);
410
411 let local_var_req = local_var_req_builder.build()?;
412 let local_var_resp = local_var_client.execute(local_var_req).await?;
413
414 let local_var_status = local_var_resp.status();
415 let local_var_content = local_var_resp.text().await?;
416
417 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
418 serde_json::from_str(&local_var_content).map_err(Error::from)
419 } else {
420 let local_var_entity: Option<UpdatePipelineError> = serde_json::from_str(&local_var_content).ok();
421 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
422 Err(Error::ResponseError(local_var_error))
423 }
424}
425