radarr_api_rs/apis/
queue_api.rs

1/*
2 * Radarr
3 *
4 * Radarr API docs
5 *
6 * The version of the OpenAPI document: 3.0.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use crate::apis::ResponseContent;
15use crate::models::{DownloadProtocol, SortDirection};
16use super::{Error, configuration};
17
18
19/// struct for typed errors of method [`api_v3_queue_bulk_delete`]
20#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum ApiV3QueueBulkDeleteError {
23    UnknownValue(serde_json::Value),
24}
25
26/// struct for typed errors of method [`api_v3_queue_get`]
27#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum ApiV3QueueGetError {
30    UnknownValue(serde_json::Value),
31}
32
33/// struct for typed errors of method [`api_v3_queue_id_delete`]
34#[derive(Debug, Clone, Serialize, Deserialize)]
35#[serde(untagged)]
36pub enum ApiV3QueueIdDeleteError {
37    UnknownValue(serde_json::Value),
38}
39
40/// struct for typed errors of method [`api_v3_queue_id_get`]
41#[derive(Debug, Clone, Serialize, Deserialize)]
42#[serde(untagged)]
43pub enum ApiV3QueueIdGetError {
44    UnknownValue(serde_json::Value),
45}
46
47
48pub async fn api_v3_queue_bulk_delete(configuration: &configuration::Configuration, remove_from_client: Option<bool>, blocklist: Option<bool>, skip_redownload: Option<bool>, queue_bulk_resource: Option<crate::models::QueueBulkResource>) -> Result<(), Error<ApiV3QueueBulkDeleteError>> {
49    let local_var_configuration = configuration;
50
51    let local_var_client = &local_var_configuration.client;
52
53    let local_var_uri_str = format!("{}/api/v3/queue/bulk", local_var_configuration.base_path);
54    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
55
56    if let Some(ref local_var_str) = remove_from_client {
57        local_var_req_builder = local_var_req_builder.query(&[("removeFromClient", &local_var_str.to_string())]);
58    }
59    if let Some(ref local_var_str) = blocklist {
60        local_var_req_builder = local_var_req_builder.query(&[("blocklist", &local_var_str.to_string())]);
61    }
62    if let Some(ref local_var_str) = skip_redownload {
63        local_var_req_builder = local_var_req_builder.query(&[("skipRedownload", &local_var_str.to_string())]);
64    }
65    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
66        let local_var_key = local_var_apikey.key.clone();
67        let local_var_value = match local_var_apikey.prefix {
68            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
69            None => local_var_key,
70        };
71        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
72    }
73    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
74        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
75    }
76    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
77        let local_var_key = local_var_apikey.key.clone();
78        let local_var_value = match local_var_apikey.prefix {
79            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
80            None => local_var_key,
81        };
82        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
83    };
84    local_var_req_builder = local_var_req_builder.json(&queue_bulk_resource);
85
86    let local_var_req = local_var_req_builder.build()?;
87    let local_var_resp = local_var_client.execute(local_var_req).await?;
88
89    let local_var_status = local_var_resp.status();
90    let local_var_content = local_var_resp.text().await?;
91
92    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
93        Ok(())
94    } else {
95        let local_var_entity: Option<ApiV3QueueBulkDeleteError> = serde_json::from_str(&local_var_content).ok();
96        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
97        Err(Error::ResponseError(local_var_error))
98    }
99}
100
101pub async fn api_v3_queue_get(configuration: &configuration::Configuration, page: Option<i32>, page_size: Option<i32>, sort_key: Option<&str>, sort_direction: Option<SortDirection>, include_unknown_movie_items: Option<bool>, include_movie: Option<bool>, movie_ids: Option<Vec<i32>>, protocol: Option<DownloadProtocol>, languages: Option<Vec<i32>>, quality: Option<i32>) -> Result<crate::models::QueueResourcePagingResource, Error<ApiV3QueueGetError>> {
102    let local_var_configuration = configuration;
103
104    let local_var_client = &local_var_configuration.client;
105
106    let local_var_uri_str = format!("{}/api/v3/queue", local_var_configuration.base_path);
107    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
108
109    if let Some(ref local_var_str) = page {
110        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
111    }
112    if let Some(ref local_var_str) = page_size {
113        local_var_req_builder = local_var_req_builder.query(&[("pageSize", &local_var_str.to_string())]);
114    }
115    if let Some(ref local_var_str) = sort_key {
116        local_var_req_builder = local_var_req_builder.query(&[("sortKey", &local_var_str.to_string())]);
117    }
118    if let Some(ref local_var_str) = sort_direction {
119        local_var_req_builder = local_var_req_builder.query(&[("sortDirection", &local_var_str.to_string())]);
120    }
121    if let Some(ref local_var_str) = include_unknown_movie_items {
122        local_var_req_builder = local_var_req_builder.query(&[("includeUnknownMovieItems", &local_var_str.to_string())]);
123    }
124    if let Some(ref local_var_str) = include_movie {
125        local_var_req_builder = local_var_req_builder.query(&[("includeMovie", &local_var_str.to_string())]);
126    }
127    if let Some(ref local_var_str) = movie_ids {
128        local_var_req_builder = match "multi" {
129            "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("movieIds".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
130            _ => local_var_req_builder.query(&[("movieIds", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
131        };
132    }
133    if let Some(ref local_var_str) = protocol {
134        local_var_req_builder = local_var_req_builder.query(&[("protocol", &local_var_str.to_string())]);
135    }
136    if let Some(ref local_var_str) = languages {
137        local_var_req_builder = match "multi" {
138            "multi" => local_var_req_builder.query(&local_var_str.into_iter().map(|p| ("languages".to_owned(), p.to_string())).collect::<Vec<(std::string::String, std::string::String)>>()),
139            _ => local_var_req_builder.query(&[("languages", &local_var_str.into_iter().map(|p| p.to_string()).collect::<Vec<String>>().join(",").to_string())]),
140        };
141    }
142    if let Some(ref local_var_str) = quality {
143        local_var_req_builder = local_var_req_builder.query(&[("quality", &local_var_str.to_string())]);
144    }
145    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
146        let local_var_key = local_var_apikey.key.clone();
147        let local_var_value = match local_var_apikey.prefix {
148            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
149            None => local_var_key,
150        };
151        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
152    }
153    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
154        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
155    }
156    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
157        let local_var_key = local_var_apikey.key.clone();
158        let local_var_value = match local_var_apikey.prefix {
159            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
160            None => local_var_key,
161        };
162        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
163    };
164
165    let local_var_req = local_var_req_builder.build()?;
166    let local_var_resp = local_var_client.execute(local_var_req).await?;
167
168    let local_var_status = local_var_resp.status();
169    let local_var_content = local_var_resp.text().await?;
170
171    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
172        serde_json::from_str(&local_var_content).map_err(Error::from)
173    } else {
174        let local_var_entity: Option<ApiV3QueueGetError> = serde_json::from_str(&local_var_content).ok();
175        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
176        Err(Error::ResponseError(local_var_error))
177    }
178}
179
180pub async fn api_v3_queue_id_delete(configuration: &configuration::Configuration, id: i32, remove_from_client: Option<bool>, blocklist: Option<bool>, skip_redownload: Option<bool>) -> Result<(), Error<ApiV3QueueIdDeleteError>> {
181    let local_var_configuration = configuration;
182
183    let local_var_client = &local_var_configuration.client;
184
185    let local_var_uri_str = format!("{}/api/v3/queue/{id}", local_var_configuration.base_path, id=id);
186    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
187
188    if let Some(ref local_var_str) = remove_from_client {
189        local_var_req_builder = local_var_req_builder.query(&[("removeFromClient", &local_var_str.to_string())]);
190    }
191    if let Some(ref local_var_str) = blocklist {
192        local_var_req_builder = local_var_req_builder.query(&[("blocklist", &local_var_str.to_string())]);
193    }
194    if let Some(ref local_var_str) = skip_redownload {
195        local_var_req_builder = local_var_req_builder.query(&[("skipRedownload", &local_var_str.to_string())]);
196    }
197    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
198        let local_var_key = local_var_apikey.key.clone();
199        let local_var_value = match local_var_apikey.prefix {
200            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
201            None => local_var_key,
202        };
203        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
204    }
205    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
206        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
207    }
208    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
209        let local_var_key = local_var_apikey.key.clone();
210        let local_var_value = match local_var_apikey.prefix {
211            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
212            None => local_var_key,
213        };
214        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
215    };
216
217    let local_var_req = local_var_req_builder.build()?;
218    let local_var_resp = local_var_client.execute(local_var_req).await?;
219
220    let local_var_status = local_var_resp.status();
221    let local_var_content = local_var_resp.text().await?;
222
223    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
224        Ok(())
225    } else {
226        let local_var_entity: Option<ApiV3QueueIdDeleteError> = serde_json::from_str(&local_var_content).ok();
227        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
228        Err(Error::ResponseError(local_var_error))
229    }
230}
231
232pub async fn api_v3_queue_id_get(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::QueueResource, Error<ApiV3QueueIdGetError>> {
233    let local_var_configuration = configuration;
234
235    let local_var_client = &local_var_configuration.client;
236
237    let local_var_uri_str = format!("{}/api/v3/queue/{id}", local_var_configuration.base_path, id=id);
238    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
239
240    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
241        let local_var_key = local_var_apikey.key.clone();
242        let local_var_value = match local_var_apikey.prefix {
243            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
244            None => local_var_key,
245        };
246        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
247    }
248    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
249        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
250    }
251    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
252        let local_var_key = local_var_apikey.key.clone();
253        let local_var_value = match local_var_apikey.prefix {
254            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
255            None => local_var_key,
256        };
257        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
258    };
259
260    let local_var_req = local_var_req_builder.build()?;
261    let local_var_resp = local_var_client.execute(local_var_req).await?;
262
263    let local_var_status = local_var_resp.status();
264    let local_var_content = local_var_resp.text().await?;
265
266    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
267        serde_json::from_str(&local_var_content).map_err(Error::from)
268    } else {
269        let local_var_entity: Option<ApiV3QueueIdGetError> = serde_json::from_str(&local_var_content).ok();
270        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
271        Err(Error::ResponseError(local_var_error))
272    }
273}
274