printnanny_api_client/apis/
devices_api.rs

1/*
2 * printnanny-api-client
3 *
4 * Official API client library for printnanny.ai
5 *
6 * The version of the OpenAPI document: 0.135.1
7 * Contact: leigh@printnanny.ai
8 * Generated by: https://openapi-generator.tech
9 */
10
11
12use reqwest;
13
14use bytes::Bytes;
15use crate::apis::ResponseContent;
16use super::{Error, configuration};
17
18
19/// struct for typed errors of method [`assign_pi_to_workspace`]
20#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum AssignPiToWorkspaceError {
23    Status409(crate::models::ErrorDetail),
24    Status400(crate::models::ErrorDetail),
25    Status401(crate::models::ErrorDetail),
26    Status403(crate::models::ErrorDetail),
27    Status500(crate::models::ErrorDetail),
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method [`network_settings_create`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum NetworkSettingsCreateError {
35    Status409(crate::models::ErrorDetail),
36    Status400(crate::models::ErrorDetail),
37    Status401(crate::models::ErrorDetail),
38    Status403(crate::models::ErrorDetail),
39    Status500(crate::models::ErrorDetail),
40    UnknownValue(serde_json::Value),
41}
42
43/// struct for typed errors of method [`network_settings_partial_update`]
44#[derive(Debug, Clone, Serialize, Deserialize)]
45#[serde(untagged)]
46pub enum NetworkSettingsPartialUpdateError {
47    Status409(crate::models::ErrorDetail),
48    Status400(crate::models::ErrorDetail),
49    Status401(crate::models::ErrorDetail),
50    Status403(crate::models::ErrorDetail),
51    Status500(crate::models::ErrorDetail),
52    UnknownValue(serde_json::Value),
53}
54
55/// struct for typed errors of method [`network_settings_retrieve`]
56#[derive(Debug, Clone, Serialize, Deserialize)]
57#[serde(untagged)]
58pub enum NetworkSettingsRetrieveError {
59    Status409(crate::models::ErrorDetail),
60    Status400(crate::models::ErrorDetail),
61    Status401(crate::models::ErrorDetail),
62    Status403(crate::models::ErrorDetail),
63    Status500(crate::models::ErrorDetail),
64    UnknownValue(serde_json::Value),
65}
66
67/// struct for typed errors of method [`network_settings_update`]
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum NetworkSettingsUpdateError {
71    Status409(crate::models::ErrorDetail),
72    Status400(crate::models::ErrorDetail),
73    Status401(crate::models::ErrorDetail),
74    Status403(crate::models::ErrorDetail),
75    Status500(crate::models::ErrorDetail),
76    UnknownValue(serde_json::Value),
77}
78
79/// struct for typed errors of method [`pi_update_or_create`]
80#[derive(Debug, Clone, Serialize, Deserialize)]
81#[serde(untagged)]
82pub enum PiUpdateOrCreateError {
83    UnknownValue(serde_json::Value),
84}
85
86/// struct for typed errors of method [`pis_create`]
87#[derive(Debug, Clone, Serialize, Deserialize)]
88#[serde(untagged)]
89pub enum PisCreateError {
90    Status409(crate::models::ErrorDetail),
91    Status400(crate::models::ErrorDetail),
92    Status401(crate::models::ErrorDetail),
93    Status403(crate::models::ErrorDetail),
94    Status500(crate::models::ErrorDetail),
95    UnknownValue(serde_json::Value),
96}
97
98/// struct for typed errors of method [`pis_destroy`]
99#[derive(Debug, Clone, Serialize, Deserialize)]
100#[serde(untagged)]
101pub enum PisDestroyError {
102    UnknownValue(serde_json::Value),
103}
104
105/// struct for typed errors of method [`pis_license_zip_retrieve`]
106#[derive(Debug, Clone, Serialize, Deserialize)]
107#[serde(untagged)]
108pub enum PisLicenseZipRetrieveError {
109    UnknownValue(serde_json::Value),
110}
111
112/// struct for typed errors of method [`pis_list`]
113#[derive(Debug, Clone, Serialize, Deserialize)]
114#[serde(untagged)]
115pub enum PisListError {
116    Status400(crate::models::ErrorDetail),
117    Status401(crate::models::ErrorDetail),
118    Status403(crate::models::ErrorDetail),
119    Status500(crate::models::ErrorDetail),
120    UnknownValue(serde_json::Value),
121}
122
123/// struct for typed errors of method [`pis_partial_update`]
124#[derive(Debug, Clone, Serialize, Deserialize)]
125#[serde(untagged)]
126pub enum PisPartialUpdateError {
127    Status409(crate::models::ErrorDetail),
128    Status400(crate::models::ErrorDetail),
129    Status401(crate::models::ErrorDetail),
130    Status403(crate::models::ErrorDetail),
131    Status500(crate::models::ErrorDetail),
132    UnknownValue(serde_json::Value),
133}
134
135/// struct for typed errors of method [`pis_retrieve`]
136#[derive(Debug, Clone, Serialize, Deserialize)]
137#[serde(untagged)]
138pub enum PisRetrieveError {
139    UnknownValue(serde_json::Value),
140}
141
142/// struct for typed errors of method [`pis_system_info_create`]
143#[derive(Debug, Clone, Serialize, Deserialize)]
144#[serde(untagged)]
145pub enum PisSystemInfoCreateError {
146    Status409(crate::models::ErrorDetail),
147    Status400(crate::models::ErrorDetail),
148    Status401(crate::models::ErrorDetail),
149    Status403(crate::models::ErrorDetail),
150    Status500(crate::models::ErrorDetail),
151    UnknownValue(serde_json::Value),
152}
153
154/// struct for typed errors of method [`pis_system_info_list`]
155#[derive(Debug, Clone, Serialize, Deserialize)]
156#[serde(untagged)]
157pub enum PisSystemInfoListError {
158    Status400(crate::models::ErrorDetail),
159    Status401(crate::models::ErrorDetail),
160    Status403(crate::models::ErrorDetail),
161    Status500(crate::models::ErrorDetail),
162    UnknownValue(serde_json::Value),
163}
164
165/// struct for typed errors of method [`pis_system_info_partial_update`]
166#[derive(Debug, Clone, Serialize, Deserialize)]
167#[serde(untagged)]
168pub enum PisSystemInfoPartialUpdateError {
169    Status409(crate::models::ErrorDetail),
170    Status400(crate::models::ErrorDetail),
171    Status401(crate::models::ErrorDetail),
172    Status403(crate::models::ErrorDetail),
173    Status500(crate::models::ErrorDetail),
174    UnknownValue(serde_json::Value),
175}
176
177/// struct for typed errors of method [`pis_system_info_retrieve`]
178#[derive(Debug, Clone, Serialize, Deserialize)]
179#[serde(untagged)]
180pub enum PisSystemInfoRetrieveError {
181    UnknownValue(serde_json::Value),
182}
183
184/// struct for typed errors of method [`pis_system_info_update`]
185#[derive(Debug, Clone, Serialize, Deserialize)]
186#[serde(untagged)]
187pub enum PisSystemInfoUpdateError {
188    Status409(crate::models::ErrorDetail),
189    Status400(crate::models::ErrorDetail),
190    Status401(crate::models::ErrorDetail),
191    Status403(crate::models::ErrorDetail),
192    Status500(crate::models::ErrorDetail),
193    UnknownValue(serde_json::Value),
194}
195
196/// struct for typed errors of method [`pis_update`]
197#[derive(Debug, Clone, Serialize, Deserialize)]
198#[serde(untagged)]
199pub enum PisUpdateError {
200    Status409(crate::models::ErrorDetail),
201    Status400(crate::models::ErrorDetail),
202    Status401(crate::models::ErrorDetail),
203    Status403(crate::models::ErrorDetail),
204    Status500(crate::models::ErrorDetail),
205    UnknownValue(serde_json::Value),
206}
207
208/// struct for typed errors of method [`pis_webrtc_streams_create`]
209#[derive(Debug, Clone, Serialize, Deserialize)]
210#[serde(untagged)]
211pub enum PisWebrtcStreamsCreateError {
212    Status409(crate::models::ErrorDetail),
213    Status400(crate::models::ErrorDetail),
214    Status401(crate::models::ErrorDetail),
215    Status403(crate::models::ErrorDetail),
216    Status500(crate::models::ErrorDetail),
217    UnknownValue(serde_json::Value),
218}
219
220/// struct for typed errors of method [`pis_webrtc_streams_list`]
221#[derive(Debug, Clone, Serialize, Deserialize)]
222#[serde(untagged)]
223pub enum PisWebrtcStreamsListError {
224    Status400(crate::models::ErrorDetail),
225    Status401(crate::models::ErrorDetail),
226    Status403(crate::models::ErrorDetail),
227    Status500(crate::models::ErrorDetail),
228    UnknownValue(serde_json::Value),
229}
230
231/// struct for typed errors of method [`pis_webrtc_streams_partial_update`]
232#[derive(Debug, Clone, Serialize, Deserialize)]
233#[serde(untagged)]
234pub enum PisWebrtcStreamsPartialUpdateError {
235    Status409(crate::models::ErrorDetail),
236    Status400(crate::models::ErrorDetail),
237    Status401(crate::models::ErrorDetail),
238    Status403(crate::models::ErrorDetail),
239    Status500(crate::models::ErrorDetail),
240    UnknownValue(serde_json::Value),
241}
242
243/// struct for typed errors of method [`pis_webrtc_streams_retrieve`]
244#[derive(Debug, Clone, Serialize, Deserialize)]
245#[serde(untagged)]
246pub enum PisWebrtcStreamsRetrieveError {
247    Status404(crate::models::ErrorDetail),
248    Status400(crate::models::ErrorDetail),
249    Status401(crate::models::ErrorDetail),
250    Status403(crate::models::ErrorDetail),
251    Status500(crate::models::ErrorDetail),
252    UnknownValue(serde_json::Value),
253}
254
255/// struct for typed errors of method [`pis_webrtc_streams_update`]
256#[derive(Debug, Clone, Serialize, Deserialize)]
257#[serde(untagged)]
258pub enum PisWebrtcStreamsUpdateError {
259    Status409(crate::models::ErrorDetail),
260    Status400(crate::models::ErrorDetail),
261    Status401(crate::models::ErrorDetail),
262    Status403(crate::models::ErrorDetail),
263    Status500(crate::models::ErrorDetail),
264    UnknownValue(serde_json::Value),
265}
266
267/// struct for typed errors of method [`system_info_update_or_create`]
268#[derive(Debug, Clone, Serialize, Deserialize)]
269#[serde(untagged)]
270pub enum SystemInfoUpdateOrCreateError {
271    UnknownValue(serde_json::Value),
272}
273
274/// struct for typed errors of method [`webrtc_stream_update_or_create`]
275#[derive(Debug, Clone, Serialize, Deserialize)]
276#[serde(untagged)]
277pub enum WebrtcStreamUpdateOrCreateError {
278    UnknownValue(serde_json::Value),
279}
280
281
282pub async fn assign_pi_to_workspace(configuration: &configuration::Configuration, pi_id: i32, workspace_id: i32) -> Result<crate::models::Pi, Error<AssignPiToWorkspaceError>> {
283    let local_var_configuration = configuration;
284
285    let local_var_client = &local_var_configuration.client;
286
287    let local_var_uri_str = format!("{}/api/pis/{pi_id}/assign-workspace/{workspace_id}/", local_var_configuration.base_path, pi_id=pi_id, workspace_id=workspace_id);
288    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
289
290    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
291        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
292    }
293    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
294        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
295    };
296
297    let local_var_req = local_var_req_builder.build()?;
298    let local_var_resp = local_var_client.execute(local_var_req).await?;
299
300    let local_var_status = local_var_resp.status();
301    let local_var_content = local_var_resp.text().await?;
302
303    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
304        serde_json::from_str(&local_var_content).map_err(Error::from)
305    } else {
306        let local_var_entity: Option<AssignPiToWorkspaceError> = serde_json::from_str(&local_var_content).ok();
307        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
308        Err(Error::ResponseError(local_var_error))
309    }
310}
311
312pub async fn network_settings_create(configuration: &configuration::Configuration, network_settings_request: crate::models::NetworkSettingsRequest) -> Result<crate::models::NetworkSettings, Error<NetworkSettingsCreateError>> {
313    let local_var_configuration = configuration;
314
315    let local_var_client = &local_var_configuration.client;
316
317    let local_var_uri_str = format!("{}/api/network-settings/", local_var_configuration.base_path);
318    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
319
320    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
321        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
322    }
323    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
324        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
325    };
326    local_var_req_builder = local_var_req_builder.json(&network_settings_request);
327
328    let local_var_req = local_var_req_builder.build()?;
329    let local_var_resp = local_var_client.execute(local_var_req).await?;
330
331    let local_var_status = local_var_resp.status();
332    let local_var_content = local_var_resp.text().await?;
333
334    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
335        serde_json::from_str(&local_var_content).map_err(Error::from)
336    } else {
337        let local_var_entity: Option<NetworkSettingsCreateError> = serde_json::from_str(&local_var_content).ok();
338        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
339        Err(Error::ResponseError(local_var_error))
340    }
341}
342
343pub async fn network_settings_partial_update(configuration: &configuration::Configuration, id: i32, patched_network_settings_request: Option<crate::models::PatchedNetworkSettingsRequest>) -> Result<crate::models::NetworkSettings, Error<NetworkSettingsPartialUpdateError>> {
344    let local_var_configuration = configuration;
345
346    let local_var_client = &local_var_configuration.client;
347
348    let local_var_uri_str = format!("{}/api/network-settings/{id}", local_var_configuration.base_path, id=id);
349    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
350
351    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
352        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
353    }
354    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
355        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
356    };
357    local_var_req_builder = local_var_req_builder.json(&patched_network_settings_request);
358
359    let local_var_req = local_var_req_builder.build()?;
360    let local_var_resp = local_var_client.execute(local_var_req).await?;
361
362    let local_var_status = local_var_resp.status();
363    let local_var_content = local_var_resp.text().await?;
364
365    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
366        serde_json::from_str(&local_var_content).map_err(Error::from)
367    } else {
368        let local_var_entity: Option<NetworkSettingsPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
369        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
370        Err(Error::ResponseError(local_var_error))
371    }
372}
373
374pub async fn network_settings_retrieve(configuration: &configuration::Configuration, ) -> Result<crate::models::NetworkSettings, Error<NetworkSettingsRetrieveError>> {
375    let local_var_configuration = configuration;
376
377    let local_var_client = &local_var_configuration.client;
378
379    let local_var_uri_str = format!("{}/api/network-settings/", local_var_configuration.base_path);
380    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
381
382    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
383        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
384    }
385    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
386        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
387    };
388
389    let local_var_req = local_var_req_builder.build()?;
390    let local_var_resp = local_var_client.execute(local_var_req).await?;
391
392    let local_var_status = local_var_resp.status();
393    let local_var_content = local_var_resp.text().await?;
394
395    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
396        serde_json::from_str(&local_var_content).map_err(Error::from)
397    } else {
398        let local_var_entity: Option<NetworkSettingsRetrieveError> = serde_json::from_str(&local_var_content).ok();
399        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
400        Err(Error::ResponseError(local_var_error))
401    }
402}
403
404pub async fn network_settings_update(configuration: &configuration::Configuration, id: i32, network_settings_request: crate::models::NetworkSettingsRequest) -> Result<crate::models::NetworkSettings, Error<NetworkSettingsUpdateError>> {
405    let local_var_configuration = configuration;
406
407    let local_var_client = &local_var_configuration.client;
408
409    let local_var_uri_str = format!("{}/api/network-settings/{id}", local_var_configuration.base_path, id=id);
410    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
411
412    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
413        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
414    }
415    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
416        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
417    };
418    local_var_req_builder = local_var_req_builder.json(&network_settings_request);
419
420    let local_var_req = local_var_req_builder.build()?;
421    let local_var_resp = local_var_client.execute(local_var_req).await?;
422
423    let local_var_status = local_var_resp.status();
424    let local_var_content = local_var_resp.text().await?;
425
426    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
427        serde_json::from_str(&local_var_content).map_err(Error::from)
428    } else {
429        let local_var_entity: Option<NetworkSettingsUpdateError> = serde_json::from_str(&local_var_content).ok();
430        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
431        Err(Error::ResponseError(local_var_error))
432    }
433}
434
435/// A device (Raspberry Pi) running Print Nanny OS
436pub async fn pi_update_or_create(configuration: &configuration::Configuration, pi_request: crate::models::PiRequest) -> Result<crate::models::Pi, Error<PiUpdateOrCreateError>> {
437    let local_var_configuration = configuration;
438
439    let local_var_client = &local_var_configuration.client;
440
441    let local_var_uri_str = format!("{}/api/pis/update-or-create/", local_var_configuration.base_path);
442    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
443
444    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
445        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
446    }
447    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
448        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
449    };
450    local_var_req_builder = local_var_req_builder.json(&pi_request);
451
452    let local_var_req = local_var_req_builder.build()?;
453    let local_var_resp = local_var_client.execute(local_var_req).await?;
454
455    let local_var_status = local_var_resp.status();
456    let local_var_content = local_var_resp.text().await?;
457
458    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
459        serde_json::from_str(&local_var_content).map_err(Error::from)
460    } else {
461        let local_var_entity: Option<PiUpdateOrCreateError> = serde_json::from_str(&local_var_content).ok();
462        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
463        Err(Error::ResponseError(local_var_error))
464    }
465}
466
467/// A device (Raspberry Pi) running Print Nanny OS
468pub async fn pis_create(configuration: &configuration::Configuration, pi_request: crate::models::PiRequest) -> Result<crate::models::Pi, Error<PisCreateError>> {
469    let local_var_configuration = configuration;
470
471    let local_var_client = &local_var_configuration.client;
472
473    let local_var_uri_str = format!("{}/api/pis/", local_var_configuration.base_path);
474    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
475
476    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
477        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
478    }
479    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
480        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
481    };
482    local_var_req_builder = local_var_req_builder.json(&pi_request);
483
484    let local_var_req = local_var_req_builder.build()?;
485    let local_var_resp = local_var_client.execute(local_var_req).await?;
486
487    let local_var_status = local_var_resp.status();
488    let local_var_content = local_var_resp.text().await?;
489
490    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
491        serde_json::from_str(&local_var_content).map_err(Error::from)
492    } else {
493        let local_var_entity: Option<PisCreateError> = serde_json::from_str(&local_var_content).ok();
494        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
495        Err(Error::ResponseError(local_var_error))
496    }
497}
498
499/// A device (Raspberry Pi) running Print Nanny OS
500pub async fn pis_destroy(configuration: &configuration::Configuration, id: i32) -> Result<(), Error<PisDestroyError>> {
501    let local_var_configuration = configuration;
502
503    let local_var_client = &local_var_configuration.client;
504
505    let local_var_uri_str = format!("{}/api/pis/{id}/", local_var_configuration.base_path, id=id);
506    let mut local_var_req_builder = local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
507
508    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
509        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
510    }
511    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
512        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
513    };
514
515    let local_var_req = local_var_req_builder.build()?;
516    let local_var_resp = local_var_client.execute(local_var_req).await?;
517
518    let local_var_status = local_var_resp.status();
519    let local_var_content = local_var_resp.text().await?;
520
521    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
522        Ok(())
523    } else {
524        let local_var_entity: Option<PisDestroyError> = serde_json::from_str(&local_var_content).ok();
525        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
526        Err(Error::ResponseError(local_var_error))
527    }
528}
529
530pub async fn pis_license_zip_retrieve(configuration: &configuration::Configuration, pi_id: i32) -> Result<Bytes, Error<PisLicenseZipRetrieveError>> {
531    let local_var_configuration = configuration;
532
533    let local_var_client = &local_var_configuration.client;
534
535    let local_var_uri_str = format!("{}/api/pis/{pi_id}/license/zip/", local_var_configuration.base_path, pi_id=pi_id);
536    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
537
538    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
539        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
540    }
541    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
542        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
543    };
544
545    let local_var_req = local_var_req_builder.build()?;
546    let local_var_resp = local_var_client.execute(local_var_req).await?;
547
548    let local_var_status = local_var_resp.status();
549    let local_var_content = local_var_resp.bytes().await?;
550
551    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
552        Ok(local_var_content)
553    } else {
554        let local_var_content = "Failed to decode binary payload".to_string();
555        let local_var_entity: Option<PisLicenseZipRetrieveError> = serde_json::from_str(&local_var_content).ok();
556        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
557        Err(Error::ResponseError(local_var_error))
558    }
559}
560
561/// A device (Raspberry Pi) running Print Nanny OS
562pub async fn pis_list(configuration: &configuration::Configuration, page: Option<i32>, workspace: Option<&str>) -> Result<crate::models::PaginatedPiList, Error<PisListError>> {
563    let local_var_configuration = configuration;
564
565    let local_var_client = &local_var_configuration.client;
566
567    let local_var_uri_str = format!("{}/api/pis/", local_var_configuration.base_path);
568    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
569
570    if let Some(ref local_var_str) = page {
571        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
572    }
573    if let Some(ref local_var_str) = workspace {
574        local_var_req_builder = local_var_req_builder.query(&[("workspace", &local_var_str.to_string())]);
575    }
576    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
577        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
578    }
579    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
580        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
581    };
582
583    let local_var_req = local_var_req_builder.build()?;
584    let local_var_resp = local_var_client.execute(local_var_req).await?;
585
586    let local_var_status = local_var_resp.status();
587    let local_var_content = local_var_resp.text().await?;
588
589    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
590        serde_json::from_str(&local_var_content).map_err(Error::from)
591    } else {
592        let local_var_entity: Option<PisListError> = serde_json::from_str(&local_var_content).ok();
593        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
594        Err(Error::ResponseError(local_var_error))
595    }
596}
597
598/// A device (Raspberry Pi) running Print Nanny OS
599pub async fn pis_partial_update(configuration: &configuration::Configuration, id: i32, patched_pi_request: Option<crate::models::PatchedPiRequest>) -> Result<crate::models::Pi, Error<PisPartialUpdateError>> {
600    let local_var_configuration = configuration;
601
602    let local_var_client = &local_var_configuration.client;
603
604    let local_var_uri_str = format!("{}/api/pis/{id}/", local_var_configuration.base_path, id=id);
605    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
606
607    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
608        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
609    }
610    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
611        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
612    };
613    local_var_req_builder = local_var_req_builder.json(&patched_pi_request);
614
615    let local_var_req = local_var_req_builder.build()?;
616    let local_var_resp = local_var_client.execute(local_var_req).await?;
617
618    let local_var_status = local_var_resp.status();
619    let local_var_content = local_var_resp.text().await?;
620
621    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
622        serde_json::from_str(&local_var_content).map_err(Error::from)
623    } else {
624        let local_var_entity: Option<PisPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
625        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
626        Err(Error::ResponseError(local_var_error))
627    }
628}
629
630/// A device (Raspberry Pi) running Print Nanny OS
631pub async fn pis_retrieve(configuration: &configuration::Configuration, id: i32) -> Result<crate::models::Pi, Error<PisRetrieveError>> {
632    let local_var_configuration = configuration;
633
634    let local_var_client = &local_var_configuration.client;
635
636    let local_var_uri_str = format!("{}/api/pis/{id}/", local_var_configuration.base_path, id=id);
637    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
638
639    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
640        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
641    }
642    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
643        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
644    };
645
646    let local_var_req = local_var_req_builder.build()?;
647    let local_var_resp = local_var_client.execute(local_var_req).await?;
648
649    let local_var_status = local_var_resp.status();
650    let local_var_content = local_var_resp.text().await?;
651
652    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
653        serde_json::from_str(&local_var_content).map_err(Error::from)
654    } else {
655        let local_var_entity: Option<PisRetrieveError> = serde_json::from_str(&local_var_content).ok();
656        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
657        Err(Error::ResponseError(local_var_error))
658    }
659}
660
661pub async fn pis_system_info_create(configuration: &configuration::Configuration, pi_id: i32, system_info_request: crate::models::SystemInfoRequest) -> Result<crate::models::SystemInfo, Error<PisSystemInfoCreateError>> {
662    let local_var_configuration = configuration;
663
664    let local_var_client = &local_var_configuration.client;
665
666    let local_var_uri_str = format!("{}/api/pis/{pi_id}/system-info/", local_var_configuration.base_path, pi_id=pi_id);
667    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
668
669    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
670        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
671    }
672    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
673        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
674    };
675    local_var_req_builder = local_var_req_builder.json(&system_info_request);
676
677    let local_var_req = local_var_req_builder.build()?;
678    let local_var_resp = local_var_client.execute(local_var_req).await?;
679
680    let local_var_status = local_var_resp.status();
681    let local_var_content = local_var_resp.text().await?;
682
683    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
684        serde_json::from_str(&local_var_content).map_err(Error::from)
685    } else {
686        let local_var_entity: Option<PisSystemInfoCreateError> = serde_json::from_str(&local_var_content).ok();
687        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
688        Err(Error::ResponseError(local_var_error))
689    }
690}
691
692pub async fn pis_system_info_list(configuration: &configuration::Configuration, pi_id: i32, page: Option<i32>) -> Result<crate::models::PaginatedSystemInfoList, Error<PisSystemInfoListError>> {
693    let local_var_configuration = configuration;
694
695    let local_var_client = &local_var_configuration.client;
696
697    let local_var_uri_str = format!("{}/api/pis/{pi_id}/system-info/", local_var_configuration.base_path, pi_id=pi_id);
698    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
699
700    if let Some(ref local_var_str) = page {
701        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
702    }
703    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
704        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
705    }
706    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
707        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
708    };
709
710    let local_var_req = local_var_req_builder.build()?;
711    let local_var_resp = local_var_client.execute(local_var_req).await?;
712
713    let local_var_status = local_var_resp.status();
714    let local_var_content = local_var_resp.text().await?;
715
716    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
717        serde_json::from_str(&local_var_content).map_err(Error::from)
718    } else {
719        let local_var_entity: Option<PisSystemInfoListError> = serde_json::from_str(&local_var_content).ok();
720        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
721        Err(Error::ResponseError(local_var_error))
722    }
723}
724
725pub async fn pis_system_info_partial_update(configuration: &configuration::Configuration, id: i32, pi_id: i32, patched_system_info_request: Option<crate::models::PatchedSystemInfoRequest>) -> Result<crate::models::SystemInfo, Error<PisSystemInfoPartialUpdateError>> {
726    let local_var_configuration = configuration;
727
728    let local_var_client = &local_var_configuration.client;
729
730    let local_var_uri_str = format!("{}/api/pis/{pi_id}/system-info/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
731    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
732
733    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
734        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
735    }
736    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
737        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
738    };
739    local_var_req_builder = local_var_req_builder.json(&patched_system_info_request);
740
741    let local_var_req = local_var_req_builder.build()?;
742    let local_var_resp = local_var_client.execute(local_var_req).await?;
743
744    let local_var_status = local_var_resp.status();
745    let local_var_content = local_var_resp.text().await?;
746
747    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
748        serde_json::from_str(&local_var_content).map_err(Error::from)
749    } else {
750        let local_var_entity: Option<PisSystemInfoPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
751        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
752        Err(Error::ResponseError(local_var_error))
753    }
754}
755
756pub async fn pis_system_info_retrieve(configuration: &configuration::Configuration, id: i32, pi_id: i32) -> Result<crate::models::SystemInfo, Error<PisSystemInfoRetrieveError>> {
757    let local_var_configuration = configuration;
758
759    let local_var_client = &local_var_configuration.client;
760
761    let local_var_uri_str = format!("{}/api/pis/{pi_id}/system-info/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
762    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
763
764    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
765        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
766    }
767    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
768        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
769    };
770
771    let local_var_req = local_var_req_builder.build()?;
772    let local_var_resp = local_var_client.execute(local_var_req).await?;
773
774    let local_var_status = local_var_resp.status();
775    let local_var_content = local_var_resp.text().await?;
776
777    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
778        serde_json::from_str(&local_var_content).map_err(Error::from)
779    } else {
780        let local_var_entity: Option<PisSystemInfoRetrieveError> = serde_json::from_str(&local_var_content).ok();
781        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
782        Err(Error::ResponseError(local_var_error))
783    }
784}
785
786pub async fn pis_system_info_update(configuration: &configuration::Configuration, id: i32, pi_id: i32, system_info_request: crate::models::SystemInfoRequest) -> Result<crate::models::SystemInfo, Error<PisSystemInfoUpdateError>> {
787    let local_var_configuration = configuration;
788
789    let local_var_client = &local_var_configuration.client;
790
791    let local_var_uri_str = format!("{}/api/pis/{pi_id}/system-info/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
792    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
793
794    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
795        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
796    }
797    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
798        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
799    };
800    local_var_req_builder = local_var_req_builder.json(&system_info_request);
801
802    let local_var_req = local_var_req_builder.build()?;
803    let local_var_resp = local_var_client.execute(local_var_req).await?;
804
805    let local_var_status = local_var_resp.status();
806    let local_var_content = local_var_resp.text().await?;
807
808    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
809        serde_json::from_str(&local_var_content).map_err(Error::from)
810    } else {
811        let local_var_entity: Option<PisSystemInfoUpdateError> = serde_json::from_str(&local_var_content).ok();
812        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
813        Err(Error::ResponseError(local_var_error))
814    }
815}
816
817/// A device (Raspberry Pi) running Print Nanny OS
818pub async fn pis_update(configuration: &configuration::Configuration, id: i32, pi_request: crate::models::PiRequest) -> Result<crate::models::Pi, Error<PisUpdateError>> {
819    let local_var_configuration = configuration;
820
821    let local_var_client = &local_var_configuration.client;
822
823    let local_var_uri_str = format!("{}/api/pis/{id}/", local_var_configuration.base_path, id=id);
824    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
825
826    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
827        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
828    }
829    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
830        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
831    };
832    local_var_req_builder = local_var_req_builder.json(&pi_request);
833
834    let local_var_req = local_var_req_builder.build()?;
835    let local_var_resp = local_var_client.execute(local_var_req).await?;
836
837    let local_var_status = local_var_resp.status();
838    let local_var_content = local_var_resp.text().await?;
839
840    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
841        serde_json::from_str(&local_var_content).map_err(Error::from)
842    } else {
843        let local_var_entity: Option<PisUpdateError> = serde_json::from_str(&local_var_content).ok();
844        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
845        Err(Error::ResponseError(local_var_error))
846    }
847}
848
849pub async fn pis_webrtc_streams_create(configuration: &configuration::Configuration, pi_id: i32, webrtc_stream_request: Option<crate::models::WebrtcStreamRequest>) -> Result<crate::models::WebrtcStream, Error<PisWebrtcStreamsCreateError>> {
850    let local_var_configuration = configuration;
851
852    let local_var_client = &local_var_configuration.client;
853
854    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/", local_var_configuration.base_path, pi_id=pi_id);
855    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
856
857    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
858        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
859    }
860    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
861        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
862    };
863    local_var_req_builder = local_var_req_builder.json(&webrtc_stream_request);
864
865    let local_var_req = local_var_req_builder.build()?;
866    let local_var_resp = local_var_client.execute(local_var_req).await?;
867
868    let local_var_status = local_var_resp.status();
869    let local_var_content = local_var_resp.text().await?;
870
871    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
872        serde_json::from_str(&local_var_content).map_err(Error::from)
873    } else {
874        let local_var_entity: Option<PisWebrtcStreamsCreateError> = serde_json::from_str(&local_var_content).ok();
875        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
876        Err(Error::ResponseError(local_var_error))
877    }
878}
879
880pub async fn pis_webrtc_streams_list(configuration: &configuration::Configuration, pi_id: i32, page: Option<i32>) -> Result<crate::models::PaginatedWebrtcStreamList, Error<PisWebrtcStreamsListError>> {
881    let local_var_configuration = configuration;
882
883    let local_var_client = &local_var_configuration.client;
884
885    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/", local_var_configuration.base_path, pi_id=pi_id);
886    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
887
888    if let Some(ref local_var_str) = page {
889        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
890    }
891    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
892        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
893    }
894    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
895        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
896    };
897
898    let local_var_req = local_var_req_builder.build()?;
899    let local_var_resp = local_var_client.execute(local_var_req).await?;
900
901    let local_var_status = local_var_resp.status();
902    let local_var_content = local_var_resp.text().await?;
903
904    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
905        serde_json::from_str(&local_var_content).map_err(Error::from)
906    } else {
907        let local_var_entity: Option<PisWebrtcStreamsListError> = serde_json::from_str(&local_var_content).ok();
908        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
909        Err(Error::ResponseError(local_var_error))
910    }
911}
912
913pub async fn pis_webrtc_streams_partial_update(configuration: &configuration::Configuration, id: i32, pi_id: i32, patched_webrtc_stream_request: Option<crate::models::PatchedWebrtcStreamRequest>) -> Result<crate::models::WebrtcStream, Error<PisWebrtcStreamsPartialUpdateError>> {
914    let local_var_configuration = configuration;
915
916    let local_var_client = &local_var_configuration.client;
917
918    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
919    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
920
921    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
922        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
923    }
924    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
925        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
926    };
927    local_var_req_builder = local_var_req_builder.json(&patched_webrtc_stream_request);
928
929    let local_var_req = local_var_req_builder.build()?;
930    let local_var_resp = local_var_client.execute(local_var_req).await?;
931
932    let local_var_status = local_var_resp.status();
933    let local_var_content = local_var_resp.text().await?;
934
935    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
936        serde_json::from_str(&local_var_content).map_err(Error::from)
937    } else {
938        let local_var_entity: Option<PisWebrtcStreamsPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
939        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
940        Err(Error::ResponseError(local_var_error))
941    }
942}
943
944pub async fn pis_webrtc_streams_retrieve(configuration: &configuration::Configuration, id: i32, pi_id: i32) -> Result<crate::models::WebrtcStream, Error<PisWebrtcStreamsRetrieveError>> {
945    let local_var_configuration = configuration;
946
947    let local_var_client = &local_var_configuration.client;
948
949    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
950    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
951
952    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
953        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
954    }
955    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
956        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
957    };
958
959    let local_var_req = local_var_req_builder.build()?;
960    let local_var_resp = local_var_client.execute(local_var_req).await?;
961
962    let local_var_status = local_var_resp.status();
963    let local_var_content = local_var_resp.text().await?;
964
965    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
966        serde_json::from_str(&local_var_content).map_err(Error::from)
967    } else {
968        let local_var_entity: Option<PisWebrtcStreamsRetrieveError> = serde_json::from_str(&local_var_content).ok();
969        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
970        Err(Error::ResponseError(local_var_error))
971    }
972}
973
974pub async fn pis_webrtc_streams_update(configuration: &configuration::Configuration, id: i32, pi_id: i32, webrtc_stream_request: Option<crate::models::WebrtcStreamRequest>) -> Result<crate::models::WebrtcStream, Error<PisWebrtcStreamsUpdateError>> {
975    let local_var_configuration = configuration;
976
977    let local_var_client = &local_var_configuration.client;
978
979    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
980    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
981
982    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
983        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
984    }
985    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
986        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
987    };
988    local_var_req_builder = local_var_req_builder.json(&webrtc_stream_request);
989
990    let local_var_req = local_var_req_builder.build()?;
991    let local_var_resp = local_var_client.execute(local_var_req).await?;
992
993    let local_var_status = local_var_resp.status();
994    let local_var_content = local_var_resp.text().await?;
995
996    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
997        serde_json::from_str(&local_var_content).map_err(Error::from)
998    } else {
999        let local_var_entity: Option<PisWebrtcStreamsUpdateError> = serde_json::from_str(&local_var_content).ok();
1000        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1001        Err(Error::ResponseError(local_var_error))
1002    }
1003}
1004
1005pub async fn system_info_update_or_create(configuration: &configuration::Configuration, pi_id: i32, system_info_request: crate::models::SystemInfoRequest) -> Result<crate::models::SystemInfo, Error<SystemInfoUpdateOrCreateError>> {
1006    let local_var_configuration = configuration;
1007
1008    let local_var_client = &local_var_configuration.client;
1009
1010    let local_var_uri_str = format!("{}/api/pis/{pi_id}/system-info/update-or-create/", local_var_configuration.base_path, pi_id=pi_id);
1011    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1012
1013    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1014        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1015    }
1016    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
1017        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1018    };
1019    local_var_req_builder = local_var_req_builder.json(&system_info_request);
1020
1021    let local_var_req = local_var_req_builder.build()?;
1022    let local_var_resp = local_var_client.execute(local_var_req).await?;
1023
1024    let local_var_status = local_var_resp.status();
1025    let local_var_content = local_var_resp.text().await?;
1026
1027    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1028        serde_json::from_str(&local_var_content).map_err(Error::from)
1029    } else {
1030        let local_var_entity: Option<SystemInfoUpdateOrCreateError> = serde_json::from_str(&local_var_content).ok();
1031        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1032        Err(Error::ResponseError(local_var_error))
1033    }
1034}
1035
1036pub async fn webrtc_stream_update_or_create(configuration: &configuration::Configuration, pi_id: i32, webrtc_stream_request: Option<crate::models::WebrtcStreamRequest>) -> Result<crate::models::WebrtcStream, Error<WebrtcStreamUpdateOrCreateError>> {
1037    let local_var_configuration = configuration;
1038
1039    let local_var_client = &local_var_configuration.client;
1040
1041    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/update-or-create/", local_var_configuration.base_path, pi_id=pi_id);
1042    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
1043
1044    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
1045        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
1046    }
1047    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
1048        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
1049    };
1050    local_var_req_builder = local_var_req_builder.json(&webrtc_stream_request);
1051
1052    let local_var_req = local_var_req_builder.build()?;
1053    let local_var_resp = local_var_client.execute(local_var_req).await?;
1054
1055    let local_var_status = local_var_resp.status();
1056    let local_var_content = local_var_resp.text().await?;
1057
1058    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
1059        serde_json::from_str(&local_var_content).map_err(Error::from)
1060    } else {
1061        let local_var_entity: Option<WebrtcStreamUpdateOrCreateError> = serde_json::from_str(&local_var_content).ok();
1062        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
1063        Err(Error::ResponseError(local_var_error))
1064    }
1065}
1066