1use reqwest;
12use serde::{Deserialize, Serialize, de::Error as _};
13use crate::{apis::ResponseContent, models};
14use super::{Error, configuration, ContentType};
15
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum AddCollectionError {
21 UnknownValue(serde_json::Value),
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum AddExistingCollectionToCollectionError {
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum AddExistingLayerToCollectionError {
35 UnknownValue(serde_json::Value),
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum AddLayerError {
42 UnknownValue(serde_json::Value),
43}
44
45#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum AddProviderError {
49 UnknownValue(serde_json::Value),
50}
51
52#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum AutocompleteHandlerError {
56 UnknownValue(serde_json::Value),
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize)]
61#[serde(untagged)]
62pub enum DeleteProviderError {
63 UnknownValue(serde_json::Value),
64}
65
66#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(untagged)]
69pub enum GetProviderDefinitionError {
70 UnknownValue(serde_json::Value),
71}
72
73#[derive(Debug, Clone, Serialize, Deserialize)]
75#[serde(untagged)]
76pub enum LayerHandlerError {
77 UnknownValue(serde_json::Value),
78}
79
80#[derive(Debug, Clone, Serialize, Deserialize)]
82#[serde(untagged)]
83pub enum LayerToDatasetError {
84 UnknownValue(serde_json::Value),
85}
86
87#[derive(Debug, Clone, Serialize, Deserialize)]
89#[serde(untagged)]
90pub enum LayerToWorkflowIdHandlerError {
91 UnknownValue(serde_json::Value),
92}
93
94#[derive(Debug, Clone, Serialize, Deserialize)]
96#[serde(untagged)]
97pub enum ListCollectionHandlerError {
98 UnknownValue(serde_json::Value),
99}
100
101#[derive(Debug, Clone, Serialize, Deserialize)]
103#[serde(untagged)]
104pub enum ListProvidersError {
105 UnknownValue(serde_json::Value),
106}
107
108#[derive(Debug, Clone, Serialize, Deserialize)]
110#[serde(untagged)]
111pub enum ListRootCollectionsHandlerError {
112 UnknownValue(serde_json::Value),
113}
114
115#[derive(Debug, Clone, Serialize, Deserialize)]
117#[serde(untagged)]
118pub enum ProviderCapabilitiesHandlerError {
119 UnknownValue(serde_json::Value),
120}
121
122#[derive(Debug, Clone, Serialize, Deserialize)]
124#[serde(untagged)]
125pub enum RemoveCollectionError {
126 UnknownValue(serde_json::Value),
127}
128
129#[derive(Debug, Clone, Serialize, Deserialize)]
131#[serde(untagged)]
132pub enum RemoveCollectionFromCollectionError {
133 UnknownValue(serde_json::Value),
134}
135
136#[derive(Debug, Clone, Serialize, Deserialize)]
138#[serde(untagged)]
139pub enum RemoveLayerError {
140 UnknownValue(serde_json::Value),
141}
142
143#[derive(Debug, Clone, Serialize, Deserialize)]
145#[serde(untagged)]
146pub enum RemoveLayerFromCollectionError {
147 UnknownValue(serde_json::Value),
148}
149
150#[derive(Debug, Clone, Serialize, Deserialize)]
152#[serde(untagged)]
153pub enum SearchHandlerError {
154 UnknownValue(serde_json::Value),
155}
156
157#[derive(Debug, Clone, Serialize, Deserialize)]
159#[serde(untagged)]
160pub enum UpdateCollectionError {
161 UnknownValue(serde_json::Value),
162}
163
164#[derive(Debug, Clone, Serialize, Deserialize)]
166#[serde(untagged)]
167pub enum UpdateLayerError {
168 UnknownValue(serde_json::Value),
169}
170
171#[derive(Debug, Clone, Serialize, Deserialize)]
173#[serde(untagged)]
174pub enum UpdateProviderDefinitionError {
175 UnknownValue(serde_json::Value),
176}
177
178
179pub async fn add_collection(configuration: &configuration::Configuration, collection: &str, add_layer_collection: models::AddLayerCollection) -> Result<models::IdResponse, Error<AddCollectionError>> {
180 let p_path_collection = collection;
182 let p_body_add_layer_collection = add_layer_collection;
183
184 let uri_str = format!("{}/layerDb/collections/{collection}/collections", configuration.base_path, collection=crate::apis::urlencode(p_path_collection));
185 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
186
187 if let Some(ref user_agent) = configuration.user_agent {
188 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
189 }
190 if let Some(ref token) = configuration.bearer_access_token {
191 req_builder = req_builder.bearer_auth(token.to_owned());
192 };
193 req_builder = req_builder.json(&p_body_add_layer_collection);
194
195 let req = req_builder.build()?;
196 let resp = configuration.client.execute(req).await?;
197
198 let status = resp.status();
199 let content_type = resp
200 .headers()
201 .get("content-type")
202 .and_then(|v| v.to_str().ok())
203 .unwrap_or("application/octet-stream");
204 let content_type = super::ContentType::from(content_type);
205
206 if !status.is_client_error() && !status.is_server_error() {
207 let content = resp.text().await?;
208 match content_type {
209 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
210 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))),
211 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))),
212 }
213 } else {
214 let content = resp.text().await?;
215 let entity: Option<AddCollectionError> = serde_json::from_str(&content).ok();
216 Err(Error::ResponseError(ResponseContent { status, content, entity }))
217 }
218}
219
220pub async fn add_existing_collection_to_collection(configuration: &configuration::Configuration, parent: &str, collection: &str) -> Result<(), Error<AddExistingCollectionToCollectionError>> {
221 let p_path_parent = parent;
223 let p_path_collection = collection;
224
225 let uri_str = format!("{}/layerDb/collections/{parent}/collections/{collection}", configuration.base_path, parent=crate::apis::urlencode(p_path_parent), collection=crate::apis::urlencode(p_path_collection));
226 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
227
228 if let Some(ref user_agent) = configuration.user_agent {
229 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
230 }
231 if let Some(ref token) = configuration.bearer_access_token {
232 req_builder = req_builder.bearer_auth(token.to_owned());
233 };
234
235 let req = req_builder.build()?;
236 let resp = configuration.client.execute(req).await?;
237
238 let status = resp.status();
239
240 if !status.is_client_error() && !status.is_server_error() {
241 Ok(())
242 } else {
243 let content = resp.text().await?;
244 let entity: Option<AddExistingCollectionToCollectionError> = serde_json::from_str(&content).ok();
245 Err(Error::ResponseError(ResponseContent { status, content, entity }))
246 }
247}
248
249pub async fn add_existing_layer_to_collection(configuration: &configuration::Configuration, collection: &str, layer: &str) -> Result<(), Error<AddExistingLayerToCollectionError>> {
250 let p_path_collection = collection;
252 let p_path_layer = layer;
253
254 let uri_str = format!("{}/layerDb/collections/{collection}/layers/{layer}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection), layer=crate::apis::urlencode(p_path_layer));
255 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
256
257 if let Some(ref user_agent) = configuration.user_agent {
258 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
259 }
260 if let Some(ref token) = configuration.bearer_access_token {
261 req_builder = req_builder.bearer_auth(token.to_owned());
262 };
263
264 let req = req_builder.build()?;
265 let resp = configuration.client.execute(req).await?;
266
267 let status = resp.status();
268
269 if !status.is_client_error() && !status.is_server_error() {
270 Ok(())
271 } else {
272 let content = resp.text().await?;
273 let entity: Option<AddExistingLayerToCollectionError> = serde_json::from_str(&content).ok();
274 Err(Error::ResponseError(ResponseContent { status, content, entity }))
275 }
276}
277
278pub async fn add_layer(configuration: &configuration::Configuration, collection: &str, add_layer: models::AddLayer) -> Result<models::IdResponse, Error<AddLayerError>> {
279 let p_path_collection = collection;
281 let p_body_add_layer = add_layer;
282
283 let uri_str = format!("{}/layerDb/collections/{collection}/layers", configuration.base_path, collection=crate::apis::urlencode(p_path_collection));
284 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
285
286 if let Some(ref user_agent) = configuration.user_agent {
287 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
288 }
289 if let Some(ref token) = configuration.bearer_access_token {
290 req_builder = req_builder.bearer_auth(token.to_owned());
291 };
292 req_builder = req_builder.json(&p_body_add_layer);
293
294 let req = req_builder.build()?;
295 let resp = configuration.client.execute(req).await?;
296
297 let status = resp.status();
298 let content_type = resp
299 .headers()
300 .get("content-type")
301 .and_then(|v| v.to_str().ok())
302 .unwrap_or("application/octet-stream");
303 let content_type = super::ContentType::from(content_type);
304
305 if !status.is_client_error() && !status.is_server_error() {
306 let content = resp.text().await?;
307 match content_type {
308 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
309 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))),
310 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))),
311 }
312 } else {
313 let content = resp.text().await?;
314 let entity: Option<AddLayerError> = serde_json::from_str(&content).ok();
315 Err(Error::ResponseError(ResponseContent { status, content, entity }))
316 }
317}
318
319pub async fn add_provider(configuration: &configuration::Configuration, typed_data_provider_definition: models::TypedDataProviderDefinition) -> Result<models::IdResponse, Error<AddProviderError>> {
320 let p_body_typed_data_provider_definition = typed_data_provider_definition;
322
323 let uri_str = format!("{}/layerDb/providers", configuration.base_path);
324 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
325
326 if let Some(ref user_agent) = configuration.user_agent {
327 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
328 }
329 if let Some(ref token) = configuration.bearer_access_token {
330 req_builder = req_builder.bearer_auth(token.to_owned());
331 };
332 req_builder = req_builder.json(&p_body_typed_data_provider_definition);
333
334 let req = req_builder.build()?;
335 let resp = configuration.client.execute(req).await?;
336
337 let status = resp.status();
338 let content_type = resp
339 .headers()
340 .get("content-type")
341 .and_then(|v| v.to_str().ok())
342 .unwrap_or("application/octet-stream");
343 let content_type = super::ContentType::from(content_type);
344
345 if !status.is_client_error() && !status.is_server_error() {
346 let content = resp.text().await?;
347 match content_type {
348 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
349 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))),
350 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))),
351 }
352 } else {
353 let content = resp.text().await?;
354 let entity: Option<AddProviderError> = serde_json::from_str(&content).ok();
355 Err(Error::ResponseError(ResponseContent { status, content, entity }))
356 }
357}
358
359pub async fn autocomplete_handler(configuration: &configuration::Configuration, provider: &str, collection: &str, search_type: models::SearchType, search_string: &str, limit: i32, offset: i32) -> Result<Vec<String>, Error<AutocompleteHandlerError>> {
360 let p_path_provider = provider;
362 let p_path_collection = collection;
363 let p_query_search_type = search_type;
364 let p_query_search_string = search_string;
365 let p_query_limit = limit;
366 let p_query_offset = offset;
367
368 let uri_str = format!("{}/layers/collections/search/autocomplete/{provider}/{collection}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), collection=crate::apis::urlencode(p_path_collection));
369 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
370
371 req_builder = req_builder.query(&[("searchType", &p_query_search_type.to_string())]);
372 req_builder = req_builder.query(&[("searchString", &p_query_search_string.to_string())]);
373 req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]);
374 req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]);
375 if let Some(ref user_agent) = configuration.user_agent {
376 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
377 }
378 if let Some(ref token) = configuration.bearer_access_token {
379 req_builder = req_builder.bearer_auth(token.to_owned());
380 };
381
382 let req = req_builder.build()?;
383 let resp = configuration.client.execute(req).await?;
384
385 let status = resp.status();
386 let content_type = resp
387 .headers()
388 .get("content-type")
389 .and_then(|v| v.to_str().ok())
390 .unwrap_or("application/octet-stream");
391 let content_type = super::ContentType::from(content_type);
392
393 if !status.is_client_error() && !status.is_server_error() {
394 let content = resp.text().await?;
395 match content_type {
396 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
397 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<String>`"))),
398 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<String>`")))),
399 }
400 } else {
401 let content = resp.text().await?;
402 let entity: Option<AutocompleteHandlerError> = serde_json::from_str(&content).ok();
403 Err(Error::ResponseError(ResponseContent { status, content, entity }))
404 }
405}
406
407pub async fn delete_provider(configuration: &configuration::Configuration, provider: &str) -> Result<(), Error<DeleteProviderError>> {
408 let p_path_provider = provider;
410
411 let uri_str = format!("{}/layerDb/providers/{provider}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider));
412 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
413
414 if let Some(ref user_agent) = configuration.user_agent {
415 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
416 }
417 if let Some(ref token) = configuration.bearer_access_token {
418 req_builder = req_builder.bearer_auth(token.to_owned());
419 };
420
421 let req = req_builder.build()?;
422 let resp = configuration.client.execute(req).await?;
423
424 let status = resp.status();
425
426 if !status.is_client_error() && !status.is_server_error() {
427 Ok(())
428 } else {
429 let content = resp.text().await?;
430 let entity: Option<DeleteProviderError> = serde_json::from_str(&content).ok();
431 Err(Error::ResponseError(ResponseContent { status, content, entity }))
432 }
433}
434
435pub async fn get_provider_definition(configuration: &configuration::Configuration, provider: &str) -> Result<models::TypedDataProviderDefinition, Error<GetProviderDefinitionError>> {
436 let p_path_provider = provider;
438
439 let uri_str = format!("{}/layerDb/providers/{provider}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider));
440 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
441
442 if let Some(ref user_agent) = configuration.user_agent {
443 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
444 }
445 if let Some(ref token) = configuration.bearer_access_token {
446 req_builder = req_builder.bearer_auth(token.to_owned());
447 };
448
449 let req = req_builder.build()?;
450 let resp = configuration.client.execute(req).await?;
451
452 let status = resp.status();
453 let content_type = resp
454 .headers()
455 .get("content-type")
456 .and_then(|v| v.to_str().ok())
457 .unwrap_or("application/octet-stream");
458 let content_type = super::ContentType::from(content_type);
459
460 if !status.is_client_error() && !status.is_server_error() {
461 let content = resp.text().await?;
462 match content_type {
463 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
464 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TypedDataProviderDefinition`"))),
465 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TypedDataProviderDefinition`")))),
466 }
467 } else {
468 let content = resp.text().await?;
469 let entity: Option<GetProviderDefinitionError> = serde_json::from_str(&content).ok();
470 Err(Error::ResponseError(ResponseContent { status, content, entity }))
471 }
472}
473
474pub async fn layer_handler(configuration: &configuration::Configuration, provider: &str, layer: &str) -> Result<models::Layer, Error<LayerHandlerError>> {
475 let p_path_provider = provider;
477 let p_path_layer = layer;
478
479 let uri_str = format!("{}/layers/{provider}/{layer}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), layer=crate::apis::urlencode(p_path_layer));
480 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
481
482 if let Some(ref user_agent) = configuration.user_agent {
483 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
484 }
485 if let Some(ref token) = configuration.bearer_access_token {
486 req_builder = req_builder.bearer_auth(token.to_owned());
487 };
488
489 let req = req_builder.build()?;
490 let resp = configuration.client.execute(req).await?;
491
492 let status = resp.status();
493 let content_type = resp
494 .headers()
495 .get("content-type")
496 .and_then(|v| v.to_str().ok())
497 .unwrap_or("application/octet-stream");
498 let content_type = super::ContentType::from(content_type);
499
500 if !status.is_client_error() && !status.is_server_error() {
501 let content = resp.text().await?;
502 match content_type {
503 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
504 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::Layer`"))),
505 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::Layer`")))),
506 }
507 } else {
508 let content = resp.text().await?;
509 let entity: Option<LayerHandlerError> = serde_json::from_str(&content).ok();
510 Err(Error::ResponseError(ResponseContent { status, content, entity }))
511 }
512}
513
514pub async fn layer_to_dataset(configuration: &configuration::Configuration, provider: &str, layer: &str) -> Result<models::TaskResponse, Error<LayerToDatasetError>> {
515 let p_path_provider = provider;
517 let p_path_layer = layer;
518
519 let uri_str = format!("{}/layers/{provider}/{layer}/dataset", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), layer=crate::apis::urlencode(p_path_layer));
520 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
521
522 if let Some(ref user_agent) = configuration.user_agent {
523 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
524 }
525 if let Some(ref token) = configuration.bearer_access_token {
526 req_builder = req_builder.bearer_auth(token.to_owned());
527 };
528
529 let req = req_builder.build()?;
530 let resp = configuration.client.execute(req).await?;
531
532 let status = resp.status();
533 let content_type = resp
534 .headers()
535 .get("content-type")
536 .and_then(|v| v.to_str().ok())
537 .unwrap_or("application/octet-stream");
538 let content_type = super::ContentType::from(content_type);
539
540 if !status.is_client_error() && !status.is_server_error() {
541 let content = resp.text().await?;
542 match content_type {
543 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
544 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::TaskResponse`"))),
545 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::TaskResponse`")))),
546 }
547 } else {
548 let content = resp.text().await?;
549 let entity: Option<LayerToDatasetError> = serde_json::from_str(&content).ok();
550 Err(Error::ResponseError(ResponseContent { status, content, entity }))
551 }
552}
553
554pub async fn layer_to_workflow_id_handler(configuration: &configuration::Configuration, provider: &str, layer: &str) -> Result<models::IdResponse, Error<LayerToWorkflowIdHandlerError>> {
555 let p_path_provider = provider;
557 let p_path_layer = layer;
558
559 let uri_str = format!("{}/layers/{provider}/{layer}/workflowId", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), layer=crate::apis::urlencode(p_path_layer));
560 let mut req_builder = configuration.client.request(reqwest::Method::POST, &uri_str);
561
562 if let Some(ref user_agent) = configuration.user_agent {
563 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
564 }
565 if let Some(ref token) = configuration.bearer_access_token {
566 req_builder = req_builder.bearer_auth(token.to_owned());
567 };
568
569 let req = req_builder.build()?;
570 let resp = configuration.client.execute(req).await?;
571
572 let status = resp.status();
573 let content_type = resp
574 .headers()
575 .get("content-type")
576 .and_then(|v| v.to_str().ok())
577 .unwrap_or("application/octet-stream");
578 let content_type = super::ContentType::from(content_type);
579
580 if !status.is_client_error() && !status.is_server_error() {
581 let content = resp.text().await?;
582 match content_type {
583 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
584 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::IdResponse`"))),
585 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::IdResponse`")))),
586 }
587 } else {
588 let content = resp.text().await?;
589 let entity: Option<LayerToWorkflowIdHandlerError> = serde_json::from_str(&content).ok();
590 Err(Error::ResponseError(ResponseContent { status, content, entity }))
591 }
592}
593
594pub async fn list_collection_handler(configuration: &configuration::Configuration, provider: &str, collection: &str, offset: i32, limit: i32) -> Result<models::LayerCollection, Error<ListCollectionHandlerError>> {
595 let p_path_provider = provider;
597 let p_path_collection = collection;
598 let p_query_offset = offset;
599 let p_query_limit = limit;
600
601 let uri_str = format!("{}/layers/collections/{provider}/{collection}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), collection=crate::apis::urlencode(p_path_collection));
602 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
603
604 req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]);
605 req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]);
606 if let Some(ref user_agent) = configuration.user_agent {
607 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
608 }
609 if let Some(ref token) = configuration.bearer_access_token {
610 req_builder = req_builder.bearer_auth(token.to_owned());
611 };
612
613 let req = req_builder.build()?;
614 let resp = configuration.client.execute(req).await?;
615
616 let status = resp.status();
617 let content_type = resp
618 .headers()
619 .get("content-type")
620 .and_then(|v| v.to_str().ok())
621 .unwrap_or("application/octet-stream");
622 let content_type = super::ContentType::from(content_type);
623
624 if !status.is_client_error() && !status.is_server_error() {
625 let content = resp.text().await?;
626 match content_type {
627 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
628 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LayerCollection`"))),
629 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LayerCollection`")))),
630 }
631 } else {
632 let content = resp.text().await?;
633 let entity: Option<ListCollectionHandlerError> = serde_json::from_str(&content).ok();
634 Err(Error::ResponseError(ResponseContent { status, content, entity }))
635 }
636}
637
638pub async fn list_providers(configuration: &configuration::Configuration, offset: i32, limit: i32) -> Result<Vec<models::LayerProviderListing>, Error<ListProvidersError>> {
639 let p_query_offset = offset;
641 let p_query_limit = limit;
642
643 let uri_str = format!("{}/layerDb/providers", configuration.base_path);
644 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
645
646 req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]);
647 req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]);
648 if let Some(ref user_agent) = configuration.user_agent {
649 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
650 }
651 if let Some(ref token) = configuration.bearer_access_token {
652 req_builder = req_builder.bearer_auth(token.to_owned());
653 };
654
655 let req = req_builder.build()?;
656 let resp = configuration.client.execute(req).await?;
657
658 let status = resp.status();
659 let content_type = resp
660 .headers()
661 .get("content-type")
662 .and_then(|v| v.to_str().ok())
663 .unwrap_or("application/octet-stream");
664 let content_type = super::ContentType::from(content_type);
665
666 if !status.is_client_error() && !status.is_server_error() {
667 let content = resp.text().await?;
668 match content_type {
669 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
670 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `Vec<models::LayerProviderListing>`"))),
671 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `Vec<models::LayerProviderListing>`")))),
672 }
673 } else {
674 let content = resp.text().await?;
675 let entity: Option<ListProvidersError> = serde_json::from_str(&content).ok();
676 Err(Error::ResponseError(ResponseContent { status, content, entity }))
677 }
678}
679
680pub async fn list_root_collections_handler(configuration: &configuration::Configuration, offset: i32, limit: i32) -> Result<models::LayerCollection, Error<ListRootCollectionsHandlerError>> {
681 let p_query_offset = offset;
683 let p_query_limit = limit;
684
685 let uri_str = format!("{}/layers/collections", configuration.base_path);
686 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
687
688 req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]);
689 req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]);
690 if let Some(ref user_agent) = configuration.user_agent {
691 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
692 }
693 if let Some(ref token) = configuration.bearer_access_token {
694 req_builder = req_builder.bearer_auth(token.to_owned());
695 };
696
697 let req = req_builder.build()?;
698 let resp = configuration.client.execute(req).await?;
699
700 let status = resp.status();
701 let content_type = resp
702 .headers()
703 .get("content-type")
704 .and_then(|v| v.to_str().ok())
705 .unwrap_or("application/octet-stream");
706 let content_type = super::ContentType::from(content_type);
707
708 if !status.is_client_error() && !status.is_server_error() {
709 let content = resp.text().await?;
710 match content_type {
711 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
712 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LayerCollection`"))),
713 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LayerCollection`")))),
714 }
715 } else {
716 let content = resp.text().await?;
717 let entity: Option<ListRootCollectionsHandlerError> = serde_json::from_str(&content).ok();
718 Err(Error::ResponseError(ResponseContent { status, content, entity }))
719 }
720}
721
722pub async fn provider_capabilities_handler(configuration: &configuration::Configuration, provider: &str) -> Result<models::ProviderCapabilities, Error<ProviderCapabilitiesHandlerError>> {
723 let p_path_provider = provider;
725
726 let uri_str = format!("{}/layers/{provider}/capabilities", configuration.base_path, provider=crate::apis::urlencode(p_path_provider));
727 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
728
729 if let Some(ref user_agent) = configuration.user_agent {
730 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
731 }
732 if let Some(ref token) = configuration.bearer_access_token {
733 req_builder = req_builder.bearer_auth(token.to_owned());
734 };
735
736 let req = req_builder.build()?;
737 let resp = configuration.client.execute(req).await?;
738
739 let status = resp.status();
740 let content_type = resp
741 .headers()
742 .get("content-type")
743 .and_then(|v| v.to_str().ok())
744 .unwrap_or("application/octet-stream");
745 let content_type = super::ContentType::from(content_type);
746
747 if !status.is_client_error() && !status.is_server_error() {
748 let content = resp.text().await?;
749 match content_type {
750 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
751 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::ProviderCapabilities`"))),
752 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::ProviderCapabilities`")))),
753 }
754 } else {
755 let content = resp.text().await?;
756 let entity: Option<ProviderCapabilitiesHandlerError> = serde_json::from_str(&content).ok();
757 Err(Error::ResponseError(ResponseContent { status, content, entity }))
758 }
759}
760
761pub async fn remove_collection(configuration: &configuration::Configuration, collection: &str) -> Result<(), Error<RemoveCollectionError>> {
762 let p_path_collection = collection;
764
765 let uri_str = format!("{}/layerDb/collections/{collection}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection));
766 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
767
768 if let Some(ref user_agent) = configuration.user_agent {
769 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
770 }
771 if let Some(ref token) = configuration.bearer_access_token {
772 req_builder = req_builder.bearer_auth(token.to_owned());
773 };
774
775 let req = req_builder.build()?;
776 let resp = configuration.client.execute(req).await?;
777
778 let status = resp.status();
779
780 if !status.is_client_error() && !status.is_server_error() {
781 Ok(())
782 } else {
783 let content = resp.text().await?;
784 let entity: Option<RemoveCollectionError> = serde_json::from_str(&content).ok();
785 Err(Error::ResponseError(ResponseContent { status, content, entity }))
786 }
787}
788
789pub async fn remove_collection_from_collection(configuration: &configuration::Configuration, parent: &str, collection: &str) -> Result<(), Error<RemoveCollectionFromCollectionError>> {
790 let p_path_parent = parent;
792 let p_path_collection = collection;
793
794 let uri_str = format!("{}/layerDb/collections/{parent}/collections/{collection}", configuration.base_path, parent=crate::apis::urlencode(p_path_parent), collection=crate::apis::urlencode(p_path_collection));
795 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
796
797 if let Some(ref user_agent) = configuration.user_agent {
798 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
799 }
800 if let Some(ref token) = configuration.bearer_access_token {
801 req_builder = req_builder.bearer_auth(token.to_owned());
802 };
803
804 let req = req_builder.build()?;
805 let resp = configuration.client.execute(req).await?;
806
807 let status = resp.status();
808
809 if !status.is_client_error() && !status.is_server_error() {
810 Ok(())
811 } else {
812 let content = resp.text().await?;
813 let entity: Option<RemoveCollectionFromCollectionError> = serde_json::from_str(&content).ok();
814 Err(Error::ResponseError(ResponseContent { status, content, entity }))
815 }
816}
817
818pub async fn remove_layer(configuration: &configuration::Configuration, layer: &str) -> Result<(), Error<RemoveLayerError>> {
819 let p_path_layer = layer;
821
822 let uri_str = format!("{}/layerDb/layers/{layer}", configuration.base_path, layer=crate::apis::urlencode(p_path_layer));
823 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
824
825 if let Some(ref user_agent) = configuration.user_agent {
826 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
827 }
828 if let Some(ref token) = configuration.bearer_access_token {
829 req_builder = req_builder.bearer_auth(token.to_owned());
830 };
831
832 let req = req_builder.build()?;
833 let resp = configuration.client.execute(req).await?;
834
835 let status = resp.status();
836
837 if !status.is_client_error() && !status.is_server_error() {
838 Ok(())
839 } else {
840 let content = resp.text().await?;
841 let entity: Option<RemoveLayerError> = serde_json::from_str(&content).ok();
842 Err(Error::ResponseError(ResponseContent { status, content, entity }))
843 }
844}
845
846pub async fn remove_layer_from_collection(configuration: &configuration::Configuration, collection: &str, layer: &str) -> Result<(), Error<RemoveLayerFromCollectionError>> {
847 let p_path_collection = collection;
849 let p_path_layer = layer;
850
851 let uri_str = format!("{}/layerDb/collections/{collection}/layers/{layer}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection), layer=crate::apis::urlencode(p_path_layer));
852 let mut req_builder = configuration.client.request(reqwest::Method::DELETE, &uri_str);
853
854 if let Some(ref user_agent) = configuration.user_agent {
855 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
856 }
857 if let Some(ref token) = configuration.bearer_access_token {
858 req_builder = req_builder.bearer_auth(token.to_owned());
859 };
860
861 let req = req_builder.build()?;
862 let resp = configuration.client.execute(req).await?;
863
864 let status = resp.status();
865
866 if !status.is_client_error() && !status.is_server_error() {
867 Ok(())
868 } else {
869 let content = resp.text().await?;
870 let entity: Option<RemoveLayerFromCollectionError> = serde_json::from_str(&content).ok();
871 Err(Error::ResponseError(ResponseContent { status, content, entity }))
872 }
873}
874
875pub async fn search_handler(configuration: &configuration::Configuration, provider: &str, collection: &str, search_type: models::SearchType, search_string: &str, limit: i32, offset: i32) -> Result<models::LayerCollection, Error<SearchHandlerError>> {
876 let p_path_provider = provider;
878 let p_path_collection = collection;
879 let p_query_search_type = search_type;
880 let p_query_search_string = search_string;
881 let p_query_limit = limit;
882 let p_query_offset = offset;
883
884 let uri_str = format!("{}/layers/collections/search/{provider}/{collection}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider), collection=crate::apis::urlencode(p_path_collection));
885 let mut req_builder = configuration.client.request(reqwest::Method::GET, &uri_str);
886
887 req_builder = req_builder.query(&[("searchType", &p_query_search_type.to_string())]);
888 req_builder = req_builder.query(&[("searchString", &p_query_search_string.to_string())]);
889 req_builder = req_builder.query(&[("limit", &p_query_limit.to_string())]);
890 req_builder = req_builder.query(&[("offset", &p_query_offset.to_string())]);
891 if let Some(ref user_agent) = configuration.user_agent {
892 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
893 }
894 if let Some(ref token) = configuration.bearer_access_token {
895 req_builder = req_builder.bearer_auth(token.to_owned());
896 };
897
898 let req = req_builder.build()?;
899 let resp = configuration.client.execute(req).await?;
900
901 let status = resp.status();
902 let content_type = resp
903 .headers()
904 .get("content-type")
905 .and_then(|v| v.to_str().ok())
906 .unwrap_or("application/octet-stream");
907 let content_type = super::ContentType::from(content_type);
908
909 if !status.is_client_error() && !status.is_server_error() {
910 let content = resp.text().await?;
911 match content_type {
912 ContentType::Json => serde_json::from_str(&content).map_err(Error::from),
913 ContentType::Text => return Err(Error::from(serde_json::Error::custom("Received `text/plain` content type response that cannot be converted to `models::LayerCollection`"))),
914 ContentType::Unsupported(unknown_type) => return Err(Error::from(serde_json::Error::custom(format!("Received `{unknown_type}` content type response that cannot be converted to `models::LayerCollection`")))),
915 }
916 } else {
917 let content = resp.text().await?;
918 let entity: Option<SearchHandlerError> = serde_json::from_str(&content).ok();
919 Err(Error::ResponseError(ResponseContent { status, content, entity }))
920 }
921}
922
923pub async fn update_collection(configuration: &configuration::Configuration, collection: &str, update_layer_collection: models::UpdateLayerCollection) -> Result<(), Error<UpdateCollectionError>> {
924 let p_path_collection = collection;
926 let p_body_update_layer_collection = update_layer_collection;
927
928 let uri_str = format!("{}/layerDb/collections/{collection}", configuration.base_path, collection=crate::apis::urlencode(p_path_collection));
929 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
930
931 if let Some(ref user_agent) = configuration.user_agent {
932 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
933 }
934 if let Some(ref token) = configuration.bearer_access_token {
935 req_builder = req_builder.bearer_auth(token.to_owned());
936 };
937 req_builder = req_builder.json(&p_body_update_layer_collection);
938
939 let req = req_builder.build()?;
940 let resp = configuration.client.execute(req).await?;
941
942 let status = resp.status();
943
944 if !status.is_client_error() && !status.is_server_error() {
945 Ok(())
946 } else {
947 let content = resp.text().await?;
948 let entity: Option<UpdateCollectionError> = serde_json::from_str(&content).ok();
949 Err(Error::ResponseError(ResponseContent { status, content, entity }))
950 }
951}
952
953pub async fn update_layer(configuration: &configuration::Configuration, layer: &str, update_layer: models::UpdateLayer) -> Result<(), Error<UpdateLayerError>> {
954 let p_path_layer = layer;
956 let p_body_update_layer = update_layer;
957
958 let uri_str = format!("{}/layerDb/layers/{layer}", configuration.base_path, layer=crate::apis::urlencode(p_path_layer));
959 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
960
961 if let Some(ref user_agent) = configuration.user_agent {
962 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
963 }
964 if let Some(ref token) = configuration.bearer_access_token {
965 req_builder = req_builder.bearer_auth(token.to_owned());
966 };
967 req_builder = req_builder.json(&p_body_update_layer);
968
969 let req = req_builder.build()?;
970 let resp = configuration.client.execute(req).await?;
971
972 let status = resp.status();
973
974 if !status.is_client_error() && !status.is_server_error() {
975 Ok(())
976 } else {
977 let content = resp.text().await?;
978 let entity: Option<UpdateLayerError> = serde_json::from_str(&content).ok();
979 Err(Error::ResponseError(ResponseContent { status, content, entity }))
980 }
981}
982
983pub async fn update_provider_definition(configuration: &configuration::Configuration, provider: &str, typed_data_provider_definition: models::TypedDataProviderDefinition) -> Result<(), Error<UpdateProviderDefinitionError>> {
984 let p_path_provider = provider;
986 let p_body_typed_data_provider_definition = typed_data_provider_definition;
987
988 let uri_str = format!("{}/layerDb/providers/{provider}", configuration.base_path, provider=crate::apis::urlencode(p_path_provider));
989 let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
990
991 if let Some(ref user_agent) = configuration.user_agent {
992 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
993 }
994 if let Some(ref token) = configuration.bearer_access_token {
995 req_builder = req_builder.bearer_auth(token.to_owned());
996 };
997 req_builder = req_builder.json(&p_body_typed_data_provider_definition);
998
999 let req = req_builder.build()?;
1000 let resp = configuration.client.execute(req).await?;
1001
1002 let status = resp.status();
1003
1004 if !status.is_client_error() && !status.is_server_error() {
1005 Ok(())
1006 } else {
1007 let content = resp.text().await?;
1008 let entity: Option<UpdateProviderDefinitionError> = serde_json::from_str(&content).ok();
1009 Err(Error::ResponseError(ResponseContent { status, content, entity }))
1010 }
1011}
1012