1use reqwest;
13
14use crate::apis::ResponseContent;
15use crate::models::SortDirection;
16use super::{Error, configuration};
17
18
19#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum ApiV3BlocklistBulkDeleteError {
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum ApiV3BlocklistGetError {
30 UnknownValue(serde_json::Value),
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize)]
35#[serde(untagged)]
36pub enum ApiV3BlocklistIdDeleteError {
37 UnknownValue(serde_json::Value),
38}
39
40#[derive(Debug, Clone, Serialize, Deserialize)]
42#[serde(untagged)]
43pub enum ApiV3BlocklistMovieGetError {
44 UnknownValue(serde_json::Value),
45}
46
47
48pub async fn api_v3_blocklist_bulk_delete(configuration: &configuration::Configuration, blocklist_bulk_resource: Option<crate::models::BlocklistBulkResource>) -> Result<(), Error<ApiV3BlocklistBulkDeleteError>> {
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/blocklist/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_apikey) = local_var_configuration.api_key {
57 let local_var_key = local_var_apikey.key.clone();
58 let local_var_value = match local_var_apikey.prefix {
59 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
60 None => local_var_key,
61 };
62 local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
63 }
64 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
65 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
66 }
67 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
68 let local_var_key = local_var_apikey.key.clone();
69 let local_var_value = match local_var_apikey.prefix {
70 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
71 None => local_var_key,
72 };
73 local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
74 };
75 local_var_req_builder = local_var_req_builder.json(&blocklist_bulk_resource);
76
77 let local_var_req = local_var_req_builder.build()?;
78 let local_var_resp = local_var_client.execute(local_var_req).await?;
79
80 let local_var_status = local_var_resp.status();
81 let local_var_content = local_var_resp.text().await?;
82
83 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
84 Ok(())
85 } else {
86 let local_var_entity: Option<ApiV3BlocklistBulkDeleteError> = serde_json::from_str(&local_var_content).ok();
87 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
88 Err(Error::ResponseError(local_var_error))
89 }
90}
91
92pub async fn api_v3_blocklist_get(configuration: &configuration::Configuration, page: Option<i32>, page_size: Option<i32>, sort_key: Option<&str>, sort_direction: Option<SortDirection>) -> Result<crate::models::BlocklistResourcePagingResource, Error<ApiV3BlocklistGetError>> {
93 let local_var_configuration = configuration;
94
95 let local_var_client = &local_var_configuration.client;
96
97 let local_var_uri_str = format!("{}/api/v3/blocklist", local_var_configuration.base_path);
98 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
99
100 if let Some(ref local_var_str) = page {
101 local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
102 }
103 if let Some(ref local_var_str) = page_size {
104 local_var_req_builder = local_var_req_builder.query(&[("pageSize", &local_var_str.to_string())]);
105 }
106 if let Some(ref local_var_str) = sort_key {
107 local_var_req_builder = local_var_req_builder.query(&[("sortKey", &local_var_str.to_string())]);
108 }
109 if let Some(ref local_var_str) = sort_direction {
110 local_var_req_builder = local_var_req_builder.query(&[("sortDirection", &local_var_str.to_string())]);
111 }
112 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
113 let local_var_key = local_var_apikey.key.clone();
114 let local_var_value = match local_var_apikey.prefix {
115 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
116 None => local_var_key,
117 };
118 local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
119 }
120 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
121 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
122 }
123 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
124 let local_var_key = local_var_apikey.key.clone();
125 let local_var_value = match local_var_apikey.prefix {
126 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
127 None => local_var_key,
128 };
129 local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
130 };
131
132 let local_var_req = local_var_req_builder.build()?;
133 let local_var_resp = local_var_client.execute(local_var_req).await?;
134
135 let local_var_status = local_var_resp.status();
136 let local_var_content = local_var_resp.text().await?;
137
138 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
139 serde_json::from_str(&local_var_content).map_err(Error::from)
140 } else {
141 let local_var_entity: Option<ApiV3BlocklistGetError> = serde_json::from_str(&local_var_content).ok();
142 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
143 Err(Error::ResponseError(local_var_error))
144 }
145}
146
147pub async fn api_v3_blocklist_id_delete(configuration: &configuration::Configuration, id: i32) -> Result<(), Error<ApiV3BlocklistIdDeleteError>> {
148 let local_var_configuration = configuration;
149
150 let local_var_client = &local_var_configuration.client;
151
152 let local_var_uri_str = format!("{}/api/v3/blocklist/{id}", local_var_configuration.base_path, id=id);
153 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
154
155 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
156 let local_var_key = local_var_apikey.key.clone();
157 let local_var_value = match local_var_apikey.prefix {
158 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
159 None => local_var_key,
160 };
161 local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
162 }
163 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
164 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
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.header("X-Api-Key", local_var_value);
173 };
174
175 let local_var_req = local_var_req_builder.build()?;
176 let local_var_resp = local_var_client.execute(local_var_req).await?;
177
178 let local_var_status = local_var_resp.status();
179 let local_var_content = local_var_resp.text().await?;
180
181 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
182 Ok(())
183 } else {
184 let local_var_entity: Option<ApiV3BlocklistIdDeleteError> = serde_json::from_str(&local_var_content).ok();
185 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
186 Err(Error::ResponseError(local_var_error))
187 }
188}
189
190pub async fn api_v3_blocklist_movie_get(configuration: &configuration::Configuration, movie_id: Option<i32>) -> Result<Vec<crate::models::BlocklistResource>, Error<ApiV3BlocklistMovieGetError>> {
191 let local_var_configuration = configuration;
192
193 let local_var_client = &local_var_configuration.client;
194
195 let local_var_uri_str = format!("{}/api/v3/blocklist/movie", local_var_configuration.base_path);
196 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
197
198 if let Some(ref local_var_str) = movie_id {
199 local_var_req_builder = local_var_req_builder.query(&[("movieId", &local_var_str.to_string())]);
200 }
201 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
202 let local_var_key = local_var_apikey.key.clone();
203 let local_var_value = match local_var_apikey.prefix {
204 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
205 None => local_var_key,
206 };
207 local_var_req_builder = local_var_req_builder.query(&[("apikey", local_var_value)]);
208 }
209 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
210 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
211 }
212 if let Some(ref local_var_apikey) = local_var_configuration.api_key {
213 let local_var_key = local_var_apikey.key.clone();
214 let local_var_value = match local_var_apikey.prefix {
215 Some(ref local_var_prefix) => format!("{} {}", local_var_prefix, local_var_key),
216 None => local_var_key,
217 };
218 local_var_req_builder = local_var_req_builder.header("X-Api-Key", local_var_value);
219 };
220
221 let local_var_req = local_var_req_builder.build()?;
222 let local_var_resp = local_var_client.execute(local_var_req).await?;
223
224 let local_var_status = local_var_resp.status();
225 let local_var_content = local_var_resp.text().await?;
226
227 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
228 serde_json::from_str(&local_var_content).map_err(Error::from)
229 } else {
230 let local_var_entity: Option<ApiV3BlocklistMovieGetError> = serde_json::from_str(&local_var_content).ok();
231 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
232 Err(Error::ResponseError(local_var_error))
233 }
234}
235