radarr_api_rs/apis/
command_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 super::{Error, configuration};
16
17
18/// struct for typed errors of method [`api_v3_command_get`]
19#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum ApiV3CommandGetError {
22    UnknownValue(serde_json::Value),
23}
24
25/// struct for typed errors of method [`api_v3_command_id_delete`]
26#[derive(Debug, Clone, Serialize, Deserialize)]
27#[serde(untagged)]
28pub enum ApiV3CommandIdDeleteError {
29    UnknownValue(serde_json::Value),
30}
31
32/// struct for typed errors of method [`api_v3_command_id_get`]
33#[derive(Debug, Clone, Serialize, Deserialize)]
34#[serde(untagged)]
35pub enum ApiV3CommandIdGetError {
36    UnknownValue(serde_json::Value),
37}
38
39/// struct for typed errors of method [`api_v3_command_post`]
40#[derive(Debug, Clone, Serialize, Deserialize)]
41#[serde(untagged)]
42pub enum ApiV3CommandPostError {
43    UnknownValue(serde_json::Value),
44}
45
46
47pub async fn api_v3_command_get(configuration: &configuration::Configuration, ) -> Result<Vec<crate::models::CommandResource>, Error<ApiV3CommandGetError>> {
48    let local_var_configuration = configuration;
49
50    let local_var_client = &local_var_configuration.client;
51
52    let local_var_uri_str = format!("{}/api/v3/command", local_var_configuration.base_path);
53    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
54
55    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
56        let local_var_key = local_var_apikey.key.clone();
57        let local_var_value = match local_var_apikey.prefix {
58            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
59            None => local_var_key,
60        };
61        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
62    }
63    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
64        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
65    }
66    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
67        let local_var_key = local_var_apikey.key.clone();
68        let local_var_value = match local_var_apikey.prefix {
69            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
70            None => local_var_key,
71        };
72        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
73    };
74
75    let local_var_req = local_var_req_builder.build()?;
76    let local_var_resp = local_var_client.execute(local_var_req).await?;
77
78    let local_var_status = local_var_resp.status();
79    let local_var_content = local_var_resp.text().await?;
80
81    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
82        serde_json::from_str(&local_var_content).map_err(Error::from)
83    } else {
84        let local_var_entity: Option<ApiV3CommandGetError> = serde_json::from_str(&local_var_content).ok();
85        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
86        Err(Error::ResponseError(local_var_error))
87    }
88}
89
90pub async fn api_v3_command_id_delete(configuration: &configuration::Configuration, id: i32) -> Result<(), Error<ApiV3CommandIdDeleteError>> {
91    let local_var_configuration = configuration;
92
93    let local_var_client = &local_var_configuration.client;
94
95    let local_var_uri_str = format!("{}/api/v3/command/{id}", local_var_configuration.base_path, id=id);
96    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
97
98    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
99        let local_var_key = local_var_apikey.key.clone();
100        let local_var_value = match local_var_apikey.prefix {
101            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
102            None => local_var_key,
103        };
104        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
105    }
106    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
107        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
108    }
109    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
110        let local_var_key = local_var_apikey.key.clone();
111        let local_var_value = match local_var_apikey.prefix {
112            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
113            None => local_var_key,
114        };
115        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
116    };
117
118    let local_var_req = local_var_req_builder.build()?;
119    let local_var_resp = local_var_client.execute(local_var_req).await?;
120
121    let local_var_status = local_var_resp.status();
122    let local_var_content = local_var_resp.text().await?;
123
124    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
125        Ok(())
126    } else {
127        let local_var_entity: Option<ApiV3CommandIdDeleteError> = serde_json::from_str(&local_var_content).ok();
128        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
129        Err(Error::ResponseError(local_var_error))
130    }
131}
132
133pub async fn api_v3_command_id_get(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::CommandResource, Error<ApiV3CommandIdGetError>> {
134    let local_var_configuration = configuration;
135
136    let local_var_client = &local_var_configuration.client;
137
138    let local_var_uri_str = format!("{}/api/v3/command/{id}", local_var_configuration.base_path, id=id);
139    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
140
141    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
142        let local_var_key = local_var_apikey.key.clone();
143        let local_var_value = match local_var_apikey.prefix {
144            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
145            None => local_var_key,
146        };
147        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
148    }
149    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
150        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
151    }
152    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
153        let local_var_key = local_var_apikey.key.clone();
154        let local_var_value = match local_var_apikey.prefix {
155            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
156            None => local_var_key,
157        };
158        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
159    };
160
161    let local_var_req = local_var_req_builder.build()?;
162    let local_var_resp = local_var_client.execute(local_var_req).await?;
163
164    let local_var_status = local_var_resp.status();
165    let local_var_content = local_var_resp.text().await?;
166
167    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
168        serde_json::from_str(&local_var_content).map_err(Error::from)
169    } else {
170        let local_var_entity: Option<ApiV3CommandIdGetError> = serde_json::from_str(&local_var_content).ok();
171        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
172        Err(Error::ResponseError(local_var_error))
173    }
174}
175
176pub async fn api_v3_command_post(configuration: &configuration::Configuration, command_resource: Option<crate::models::CommandResource>) -> Result<crate::models::CommandResource, Error<ApiV3CommandPostError>> {
177    let local_var_configuration = configuration;
178
179    let local_var_client = &local_var_configuration.client;
180
181    let local_var_uri_str = format!("{}/api/v3/command", local_var_configuration.base_path);
182    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
183
184    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
185        let local_var_key = local_var_apikey.key.clone();
186        let local_var_value = match local_var_apikey.prefix {
187            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
188            None => local_var_key,
189        };
190        local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
191    }
192    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
193        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
194    }
195    if let Some(ref local_var_apikey) = local_var_configuration.api_key {
196        let local_var_key = local_var_apikey.key.clone();
197        let local_var_value = match local_var_apikey.prefix {
198            Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
199            None => local_var_key,
200        };
201        local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
202    };
203    local_var_req_builder = local_var_req_builder.json(&command_resource);
204
205    let local_var_req = local_var_req_builder.build()?;
206    let local_var_resp = local_var_client.execute(local_var_req).await?;
207
208    let local_var_status = local_var_resp.status();
209    let local_var_content = local_var_resp.text().await?;
210
211    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
212        serde_json::from_str(&local_var_content).map_err(Error::from)
213    } else {
214        let local_var_entity: Option<ApiV3CommandPostError> = serde_json::from_str(&local_var_content).ok();
215        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
216        Err(Error::ResponseError(local_var_error))
217    }
218}
219