1use reqwest;
13
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum ClearDatasetError {
22 Status400(models::ErrorResponseBody),
23 Status404(models::ErrorResponseBody),
24 UnknownValue(serde_json::Value),
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize)]
29#[serde(untagged)]
30pub enum CreateDatasetError {
31 Status400(models::ErrorResponseBody),
32 UnknownValue(serde_json::Value),
33}
34
35#[derive(Debug, Clone, Serialize, Deserialize)]
37#[serde(untagged)]
38pub enum DeleteDatasetError {
39 Status400(models::ErrorResponseBody),
40 Status404(models::ErrorResponseBody),
41 UnknownValue(serde_json::Value),
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
46#[serde(untagged)]
47pub enum DeleteDatasetByTrackingIdError {
48 Status400(models::ErrorResponseBody),
49 Status404(models::ErrorResponseBody),
50 UnknownValue(serde_json::Value),
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
55#[serde(untagged)]
56pub enum GetAllTagsError {
57 Status400(models::ErrorResponseBody),
58 UnknownValue(serde_json::Value),
59}
60
61#[derive(Debug, Clone, Serialize, Deserialize)]
63#[serde(untagged)]
64pub enum GetDatasetError {
65 Status400(models::ErrorResponseBody),
66 Status404(models::ErrorResponseBody),
67 UnknownValue(serde_json::Value),
68}
69
70#[derive(Debug, Clone, Serialize, Deserialize)]
72#[serde(untagged)]
73pub enum GetDatasetsFromOrganizationError {
74 Status400(models::ErrorResponseBody),
75 Status404(models::ErrorResponseBody),
76 UnknownValue(serde_json::Value),
77}
78
79#[derive(Debug, Clone, Serialize, Deserialize)]
81#[serde(untagged)]
82pub enum GetUsageByDatasetIdError {
83 Status400(models::ErrorResponseBody),
84 Status404(models::ErrorResponseBody),
85 UnknownValue(serde_json::Value),
86}
87
88#[derive(Debug, Clone, Serialize, Deserialize)]
90#[serde(untagged)]
91pub enum UpdateDatasetError {
92 Status400(models::ErrorResponseBody),
93 Status404(models::ErrorResponseBody),
94 UnknownValue(serde_json::Value),
95}
96
97
98pub async fn clear_dataset(configuration: &configuration::Configuration, tr_dataset: &str, dataset_id: &str) -> Result<(), Error<ClearDatasetError>> {
100 let local_var_configuration = configuration;
101
102 let local_var_client = &local_var_configuration.client;
103
104 let local_var_uri_str = format!("{}/api/dataset/clear/{dataset_id}", local_var_configuration.base_path, dataset_id=crate::apis::urlencode(dataset_id));
105 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
106
107 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
108 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
109 }
110 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
111 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
112 let local_var_key = local_var_apikey.key.clone();
113 let local_var_value = match local_var_apikey.prefix {
114 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
115 None => local_var_key,
116 };
117 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
118 };
119
120 let local_var_req = local_var_req_builder.build()?;
121 let local_var_resp = local_var_client.execute(local_var_req).await?;
122
123 let local_var_status = local_var_resp.status();
124 let local_var_content = local_var_resp.text().await?;
125
126 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
127 Ok(())
128 } else {
129 let local_var_entity: Option<ClearDatasetError> = serde_json::from_str(&local_var_content).ok();
130 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
131 Err(Error::ResponseError(local_var_error))
132 }
133}
134
135pub async fn create_dataset(configuration: &configuration::Configuration, tr_organization: &str, create_dataset_request: models::CreateDatasetRequest) -> Result<models::Dataset, Error<CreateDatasetError>> {
137 let local_var_configuration = configuration;
138
139 let local_var_client = &local_var_configuration.client;
140
141 let local_var_uri_str = format!("{}/api/dataset", local_var_configuration.base_path);
142 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
143
144 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
145 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
146 }
147 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
148 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
149 let local_var_key = local_var_apikey.key.clone();
150 let local_var_value = match local_var_apikey.prefix {
151 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
152 None => local_var_key,
153 };
154 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
155 };
156 local_var_req_builder = local_var_req_builder.json(&create_dataset_request);
157
158 let local_var_req = local_var_req_builder.build()?;
159 let local_var_resp = local_var_client.execute(local_var_req).await?;
160
161 let local_var_status = local_var_resp.status();
162 let local_var_content = local_var_resp.text().await?;
163
164 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
165 serde_json::from_str(&local_var_content).map_err(Error::from)
166 } else {
167 let local_var_entity: Option<CreateDatasetError> = serde_json::from_str(&local_var_content).ok();
168 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
169 Err(Error::ResponseError(local_var_error))
170 }
171}
172
173pub async fn delete_dataset(configuration: &configuration::Configuration, tr_dataset: &str, dataset_id: &str) -> Result<(), Error<DeleteDatasetError>> {
175 let local_var_configuration = configuration;
176
177 let local_var_client = &local_var_configuration.client;
178
179 let local_var_uri_str = format!("{}/api/dataset/{dataset_id}", local_var_configuration.base_path, dataset_id=crate::apis::urlencode(dataset_id));
180 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
181
182 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
183 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
184 }
185 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
186 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
187 let local_var_key = local_var_apikey.key.clone();
188 let local_var_value = match local_var_apikey.prefix {
189 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
190 None => local_var_key,
191 };
192 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
193 };
194
195 let local_var_req = local_var_req_builder.build()?;
196 let local_var_resp = local_var_client.execute(local_var_req).await?;
197
198 let local_var_status = local_var_resp.status();
199 let local_var_content = local_var_resp.text().await?;
200
201 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
202 Ok(())
203 } else {
204 let local_var_entity: Option<DeleteDatasetError> = serde_json::from_str(&local_var_content).ok();
205 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
206 Err(Error::ResponseError(local_var_error))
207 }
208}
209
210pub async fn delete_dataset_by_tracking_id(configuration: &configuration::Configuration, tr_dataset: &str, tracking_id: &str) -> Result<(), Error<DeleteDatasetByTrackingIdError>> {
212 let local_var_configuration = configuration;
213
214 let local_var_client = &local_var_configuration.client;
215
216 let local_var_uri_str = format!("{}/api/dataset/tracking_id/{tracking_id}", local_var_configuration.base_path, tracking_id=crate::apis::urlencode(tracking_id));
217 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
218
219 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
220 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
221 }
222 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
223 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
224 let local_var_key = local_var_apikey.key.clone();
225 let local_var_value = match local_var_apikey.prefix {
226 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
227 None => local_var_key,
228 };
229 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
230 };
231
232 let local_var_req = local_var_req_builder.build()?;
233 let local_var_resp = local_var_client.execute(local_var_req).await?;
234
235 let local_var_status = local_var_resp.status();
236 let local_var_content = local_var_resp.text().await?;
237
238 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
239 Ok(())
240 } else {
241 let local_var_entity: Option<DeleteDatasetByTrackingIdError> = serde_json::from_str(&local_var_content).ok();
242 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
243 Err(Error::ResponseError(local_var_error))
244 }
245}
246
247pub async fn get_all_tags(configuration: &configuration::Configuration, tr_dataset: &str, get_all_tags_req_payload: models::GetAllTagsReqPayload) -> Result<models::GetAllTagsResponse, Error<GetAllTagsError>> {
249 let local_var_configuration = configuration;
250
251 let local_var_client = &local_var_configuration.client;
252
253 let local_var_uri_str = format!("{}/api/dataset/get_all_tags", local_var_configuration.base_path);
254 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
255
256 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
257 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
258 }
259 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
260 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
261 let local_var_key = local_var_apikey.key.clone();
262 let local_var_value = match local_var_apikey.prefix {
263 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
264 None => local_var_key,
265 };
266 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
267 };
268 local_var_req_builder = local_var_req_builder.json(&get_all_tags_req_payload);
269
270 let local_var_req = local_var_req_builder.build()?;
271 let local_var_resp = local_var_client.execute(local_var_req).await?;
272
273 let local_var_status = local_var_resp.status();
274 let local_var_content = local_var_resp.text().await?;
275
276 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
277 serde_json::from_str(&local_var_content).map_err(Error::from)
278 } else {
279 let local_var_entity: Option<GetAllTagsError> = serde_json::from_str(&local_var_content).ok();
280 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
281 Err(Error::ResponseError(local_var_error))
282 }
283}
284
285pub async fn get_dataset(configuration: &configuration::Configuration, tr_dataset: &str, dataset_id: &str) -> Result<models::Dataset, Error<GetDatasetError>> {
287 let local_var_configuration = configuration;
288
289 let local_var_client = &local_var_configuration.client;
290
291 let local_var_uri_str = format!("{}/api/dataset/{dataset_id}", local_var_configuration.base_path, dataset_id=crate::apis::urlencode(dataset_id));
292 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
293
294 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
295 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
296 }
297 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
298 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
299 let local_var_key = local_var_apikey.key.clone();
300 let local_var_value = match local_var_apikey.prefix {
301 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
302 None => local_var_key,
303 };
304 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
305 };
306
307 let local_var_req = local_var_req_builder.build()?;
308 let local_var_resp = local_var_client.execute(local_var_req).await?;
309
310 let local_var_status = local_var_resp.status();
311 let local_var_content = local_var_resp.text().await?;
312
313 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
314 serde_json::from_str(&local_var_content).map_err(Error::from)
315 } else {
316 let local_var_entity: Option<GetDatasetError> = serde_json::from_str(&local_var_content).ok();
317 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
318 Err(Error::ResponseError(local_var_error))
319 }
320}
321
322pub async fn get_datasets_from_organization(configuration: &configuration::Configuration, tr_organization: &str, organization_id: &str, limit: Option<i64>, offset: Option<i64>) -> Result<Vec<models::DatasetAndUsage>, Error<GetDatasetsFromOrganizationError>> {
324 let local_var_configuration = configuration;
325
326 let local_var_client = &local_var_configuration.client;
327
328 let local_var_uri_str = format!("{}/api/dataset/organization/{organization_id}", local_var_configuration.base_path, organization_id=crate::apis::urlencode(organization_id));
329 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
330
331 if let Some(ref local_var_str) = limit {
332 local_var_req_builder = local_var_req_builder.query(&[("limit", &local_var_str.to_string())]);
333 }
334 if let Some(ref local_var_str) = offset {
335 local_var_req_builder = local_var_req_builder.query(&[("offset", &local_var_str.to_string())]);
336 }
337 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
338 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
339 }
340 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
341 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
342 let local_var_key = local_var_apikey.key.clone();
343 let local_var_value = match local_var_apikey.prefix {
344 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
345 None => local_var_key,
346 };
347 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
348 };
349
350 let local_var_req = local_var_req_builder.build()?;
351 let local_var_resp = local_var_client.execute(local_var_req).await?;
352
353 let local_var_status = local_var_resp.status();
354 let local_var_content = local_var_resp.text().await?;
355
356 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
357 serde_json::from_str(&local_var_content).map_err(Error::from)
358 } else {
359 let local_var_entity: Option<GetDatasetsFromOrganizationError> = serde_json::from_str(&local_var_content).ok();
360 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
361 Err(Error::ResponseError(local_var_error))
362 }
363}
364
365pub async fn get_usage_by_dataset_id(configuration: &configuration::Configuration, tr_dataset: &str, dataset_id: &str) -> Result<models::DatasetUsageCount, Error<GetUsageByDatasetIdError>> {
367 let local_var_configuration = configuration;
368
369 let local_var_client = &local_var_configuration.client;
370
371 let local_var_uri_str = format!("{}/api/dataset/usage/{dataset_id}", local_var_configuration.base_path, dataset_id=crate::apis::urlencode(dataset_id));
372 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
373
374 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
375 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
376 }
377 local_var_req_builder = local_var_req_builder.header("TR-Dataset", tr_dataset.to_string());
378 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
379 let local_var_key = local_var_apikey.key.clone();
380 let local_var_value = match local_var_apikey.prefix {
381 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
382 None => local_var_key,
383 };
384 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
385 };
386
387 let local_var_req = local_var_req_builder.build()?;
388 let local_var_resp = local_var_client.execute(local_var_req).await?;
389
390 let local_var_status = local_var_resp.status();
391 let local_var_content = local_var_resp.text().await?;
392
393 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
394 serde_json::from_str(&local_var_content).map_err(Error::from)
395 } else {
396 let local_var_entity: Option<GetUsageByDatasetIdError> = serde_json::from_str(&local_var_content).ok();
397 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
398 Err(Error::ResponseError(local_var_error))
399 }
400}
401
402pub async fn update_dataset(configuration: &configuration::Configuration, tr_organization: &str, update_dataset_request: models::UpdateDatasetRequest) -> Result<models::Dataset, Error<UpdateDatasetError>> {
404 let local_var_configuration = configuration;
405
406 let local_var_client = &local_var_configuration.client;
407
408 let local_var_uri_str = format!("{}/api/dataset", local_var_configuration.base_path);
409 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
410
411 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
412 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
413 }
414 local_var_req_builder = local_var_req_builder.header("TR-Organization", tr_organization.to_string());
415 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
416 let local_var_key = local_var_apikey.key.clone();
417 let local_var_value = match local_var_apikey.prefix {
418 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
419 None => local_var_key,
420 };
421 local_var_req_builder = local_var_req_builder.header("Authorization", local_var_value);
422 };
423 local_var_req_builder = local_var_req_builder.json(&update_dataset_request);
424
425 let local_var_req = local_var_req_builder.build()?;
426 let local_var_resp = local_var_client.execute(local_var_req).await?;
427
428 let local_var_status = local_var_resp.status();
429 let local_var_content = local_var_resp.text().await?;
430
431 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
432 serde_json::from_str(&local_var_content).map_err(Error::from)
433 } else {
434 let local_var_entity: Option<UpdateDatasetError> = serde_json::from_str(&local_var_content).ok();
435 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
436 Err(Error::ResponseError(local_var_error))
437 }
438}
439