1use reqwest;
13use serde::{Deserialize, Serialize};
14use crate::{apis::ResponseContent, models};
15use super::{Error, configuration};
16
17
18#[derive(Debug, Clone, Serialize, Deserialize)]
20#[serde(untagged)]
21pub enum ResourceServiceCreateResourceError {
22 DefaultResponse(models::GooglerpcStatus),
23 UnknownValue(serde_json::Value),
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28#[serde(untagged)]
29pub enum ResourceServiceDeleteResourceError {
30 DefaultResponse(models::GooglerpcStatus),
31 UnknownValue(serde_json::Value),
32}
33
34#[derive(Debug, Clone, Serialize, Deserialize)]
36#[serde(untagged)]
37pub enum ResourceServiceGetResourceError {
38 DefaultResponse(models::GooglerpcStatus),
39 UnknownValue(serde_json::Value),
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum ResourceServiceGetResourceBinaryError {
46 DefaultResponse(models::GooglerpcStatus),
47 UnknownValue(serde_json::Value),
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize)]
52#[serde(untagged)]
53pub enum ResourceServiceGetResourceByUidError {
54 DefaultResponse(models::GooglerpcStatus),
55 UnknownValue(serde_json::Value),
56}
57
58#[derive(Debug, Clone, Serialize, Deserialize)]
60#[serde(untagged)]
61pub enum ResourceServiceListResourcesError {
62 DefaultResponse(models::GooglerpcStatus),
63 UnknownValue(serde_json::Value),
64}
65
66#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(untagged)]
69pub enum ResourceServiceUpdateResourceError {
70 DefaultResponse(models::GooglerpcStatus),
71 UnknownValue(serde_json::Value),
72}
73
74
75pub fn resource_service_create_resource(configuration: &configuration::Configuration, resource: models::V1Resource) -> Result<models::V1Resource, Error<ResourceServiceCreateResourceError>> {
76 let local_var_configuration = configuration;
77
78 let local_var_client = &local_var_configuration.client;
79
80 let local_var_uri_str = format!("{}/api/v1/resources", local_var_configuration.base_path);
81 let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
82
83 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
84 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
85 }
86 local_var_req_builder = local_var_req_builder.json(&resource);
87
88 let local_var_req = local_var_req_builder.build()?;
89 let local_var_resp = local_var_client.execute(local_var_req)?;
90
91 let local_var_status = local_var_resp.status();
92 let local_var_content = local_var_resp.text()?;
93
94 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
95 serde_json::from_str(&local_var_content).map_err(Error::from)
96 } else {
97 let local_var_entity: Option<ResourceServiceCreateResourceError> = serde_json::from_str(&local_var_content).ok();
98 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
99 Err(Error::ResponseError(local_var_error))
100 }
101}
102
103pub fn resource_service_delete_resource(configuration: &configuration::Configuration, name_3: &str) -> Result<serde_json::Value, Error<ResourceServiceDeleteResourceError>> {
104 let local_var_configuration = configuration;
105
106 let local_var_client = &local_var_configuration.client;
107
108 let local_var_uri_str = format!("{}/api/v1/{name_3}", local_var_configuration.base_path, name_3=crate::apis::urlencode(name_3));
109 let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
110
111 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
112 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
113 }
114
115 let local_var_req = local_var_req_builder.build()?;
116 let local_var_resp = local_var_client.execute(local_var_req)?;
117
118 let local_var_status = local_var_resp.status();
119 let local_var_content = local_var_resp.text()?;
120
121 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
122 serde_json::from_str(&local_var_content).map_err(Error::from)
123 } else {
124 let local_var_entity: Option<ResourceServiceDeleteResourceError> = serde_json::from_str(&local_var_content).ok();
125 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
126 Err(Error::ResponseError(local_var_error))
127 }
128}
129
130pub fn resource_service_get_resource(configuration: &configuration::Configuration, name_3: &str) -> Result<models::V1Resource, Error<ResourceServiceGetResourceError>> {
131 let local_var_configuration = configuration;
132
133 let local_var_client = &local_var_configuration.client;
134
135 let local_var_uri_str = format!("{}/api/v1/{name_3}", local_var_configuration.base_path, name_3=crate::apis::urlencode(name_3));
136 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
137
138 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
139 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
140 }
141
142 let local_var_req = local_var_req_builder.build()?;
143 let local_var_resp = local_var_client.execute(local_var_req)?;
144
145 let local_var_status = local_var_resp.status();
146 let local_var_content = local_var_resp.text()?;
147
148 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
149 serde_json::from_str(&local_var_content).map_err(Error::from)
150 } else {
151 let local_var_entity: Option<ResourceServiceGetResourceError> = serde_json::from_str(&local_var_content).ok();
152 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
153 Err(Error::ResponseError(local_var_error))
154 }
155}
156
157pub fn resource_service_get_resource_binary(configuration: &configuration::Configuration, name: &str, filename: &str, thumbnail: Option<bool>) -> Result<models::ApiHttpBody, Error<ResourceServiceGetResourceBinaryError>> {
158 let local_var_configuration = configuration;
159
160 let local_var_client = &local_var_configuration.client;
161
162 let local_var_uri_str = format!("{}/file/{name}/{filename}", local_var_configuration.base_path, name=crate::apis::urlencode(name), filename=crate::apis::urlencode(filename));
163 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
164
165 if let Some(ref local_var_str) = thumbnail {
166 local_var_req_builder = local_var_req_builder.query(&[("thumbnail", &local_var_str.to_string())]);
167 }
168 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
169 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
170 }
171
172 let local_var_req = local_var_req_builder.build()?;
173 let local_var_resp = local_var_client.execute(local_var_req)?;
174
175 let local_var_status = local_var_resp.status();
176 let local_var_content = local_var_resp.text()?;
177
178 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
179 serde_json::from_str(&local_var_content).map_err(Error::from)
180 } else {
181 let local_var_entity: Option<ResourceServiceGetResourceBinaryError> = serde_json::from_str(&local_var_content).ok();
182 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
183 Err(Error::ResponseError(local_var_error))
184 }
185}
186
187pub fn resource_service_get_resource_by_uid(configuration: &configuration::Configuration, uid: &str) -> Result<models::V1Resource, Error<ResourceServiceGetResourceByUidError>> {
188 let local_var_configuration = configuration;
189
190 let local_var_client = &local_var_configuration.client;
191
192 let local_var_uri_str = format!("{}/api/v1/resources:by-uid/{uid}", local_var_configuration.base_path, uid=crate::apis::urlencode(uid));
193 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
194
195 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
196 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
197 }
198
199 let local_var_req = local_var_req_builder.build()?;
200 let local_var_resp = local_var_client.execute(local_var_req)?;
201
202 let local_var_status = local_var_resp.status();
203 let local_var_content = local_var_resp.text()?;
204
205 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
206 serde_json::from_str(&local_var_content).map_err(Error::from)
207 } else {
208 let local_var_entity: Option<ResourceServiceGetResourceByUidError> = serde_json::from_str(&local_var_content).ok();
209 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
210 Err(Error::ResponseError(local_var_error))
211 }
212}
213
214pub fn resource_service_list_resources(configuration: &configuration::Configuration, ) -> Result<models::V1ListResourcesResponse, Error<ResourceServiceListResourcesError>> {
215 let local_var_configuration = configuration;
216
217 let local_var_client = &local_var_configuration.client;
218
219 let local_var_uri_str = format!("{}/api/v1/resources", local_var_configuration.base_path);
220 let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
221
222 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
223 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
224 }
225
226 let local_var_req = local_var_req_builder.build()?;
227 let local_var_resp = local_var_client.execute(local_var_req)?;
228
229 let local_var_status = local_var_resp.status();
230 let local_var_content = local_var_resp.text()?;
231
232 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
233 serde_json::from_str(&local_var_content).map_err(Error::from)
234 } else {
235 let local_var_entity: Option<ResourceServiceListResourcesError> = serde_json::from_str(&local_var_content).ok();
236 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
237 Err(Error::ResponseError(local_var_error))
238 }
239}
240
241pub fn resource_service_update_resource(configuration: &configuration::Configuration, resource_name: &str, resource: models::ResourceServiceUpdateResourceRequest) -> Result<models::V1Resource, Error<ResourceServiceUpdateResourceError>> {
242 let local_var_configuration = configuration;
243
244 let local_var_client = &local_var_configuration.client;
245
246 let local_var_uri_str = format!("{}/api/v1/{resource_name}", local_var_configuration.base_path, resource_name=crate::apis::urlencode(resource_name));
247 let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
248
249 if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
250 local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
251 }
252 local_var_req_builder = local_var_req_builder.json(&resource);
253
254 let local_var_req = local_var_req_builder.build()?;
255 let local_var_resp = local_var_client.execute(local_var_req)?;
256
257 let local_var_status = local_var_resp.status();
258 let local_var_content = local_var_resp.text()?;
259
260 if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
261 serde_json::from_str(&local_var_content).map_err(Error::from)
262 } else {
263 let local_var_entity: Option<ResourceServiceUpdateResourceError> = serde_json::from_str(&local_var_content).ok();
264 let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
265 Err(Error::ResponseError(local_var_error))
266 }
267}
268