printnanny_api_client/apis/
janus_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 [`pis_webrtc_streams_create`]
20#[derive(Debug, Clone, Serialize, Deserialize)]
21#[serde(untagged)]
22pub enum PisWebrtcStreamsCreateError {
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 [`pis_webrtc_streams_list`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum PisWebrtcStreamsListError {
35    Status400(crate::models::ErrorDetail),
36    Status401(crate::models::ErrorDetail),
37    Status403(crate::models::ErrorDetail),
38    Status500(crate::models::ErrorDetail),
39    UnknownValue(serde_json::Value),
40}
41
42/// struct for typed errors of method [`pis_webrtc_streams_partial_update`]
43#[derive(Debug, Clone, Serialize, Deserialize)]
44#[serde(untagged)]
45pub enum PisWebrtcStreamsPartialUpdateError {
46    Status409(crate::models::ErrorDetail),
47    Status400(crate::models::ErrorDetail),
48    Status401(crate::models::ErrorDetail),
49    Status403(crate::models::ErrorDetail),
50    Status500(crate::models::ErrorDetail),
51    UnknownValue(serde_json::Value),
52}
53
54/// struct for typed errors of method [`pis_webrtc_streams_retrieve`]
55#[derive(Debug, Clone, Serialize, Deserialize)]
56#[serde(untagged)]
57pub enum PisWebrtcStreamsRetrieveError {
58    Status404(crate::models::ErrorDetail),
59    Status400(crate::models::ErrorDetail),
60    Status401(crate::models::ErrorDetail),
61    Status403(crate::models::ErrorDetail),
62    Status500(crate::models::ErrorDetail),
63    UnknownValue(serde_json::Value),
64}
65
66/// struct for typed errors of method [`pis_webrtc_streams_update`]
67#[derive(Debug, Clone, Serialize, Deserialize)]
68#[serde(untagged)]
69pub enum PisWebrtcStreamsUpdateError {
70    Status409(crate::models::ErrorDetail),
71    Status400(crate::models::ErrorDetail),
72    Status401(crate::models::ErrorDetail),
73    Status403(crate::models::ErrorDetail),
74    Status500(crate::models::ErrorDetail),
75    UnknownValue(serde_json::Value),
76}
77
78
79pub 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>> {
80    let local_var_configuration = configuration;
81
82    let local_var_client = &local_var_configuration.client;
83
84    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/", local_var_configuration.base_path, pi_id=pi_id);
85    let mut local_var_req_builder = local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
86
87    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
88        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
89    }
90    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
91        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
92    };
93    local_var_req_builder = local_var_req_builder.json(&webrtc_stream_request);
94
95    let local_var_req = local_var_req_builder.build()?;
96    let local_var_resp = local_var_client.execute(local_var_req).await?;
97
98    let local_var_status = local_var_resp.status();
99    let local_var_content = local_var_resp.text().await?;
100
101    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
102        serde_json::from_str(&local_var_content).map_err(Error::from)
103    } else {
104        let local_var_entity: Option<PisWebrtcStreamsCreateError> = serde_json::from_str(&local_var_content).ok();
105        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
106        Err(Error::ResponseError(local_var_error))
107    }
108}
109
110pub async fn pis_webrtc_streams_list(configuration: &configuration::Configuration, pi_id: i32, page: Option<i32>) -> Result<crate::models::PaginatedWebrtcStreamList, Error<PisWebrtcStreamsListError>> {
111    let local_var_configuration = configuration;
112
113    let local_var_client = &local_var_configuration.client;
114
115    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/", local_var_configuration.base_path, pi_id=pi_id);
116    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
117
118    if let Some(ref local_var_str) = page {
119        local_var_req_builder = local_var_req_builder.query(&[("page", &local_var_str.to_string())]);
120    }
121    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
122        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
123    }
124    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
125        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
126    };
127
128    let local_var_req = local_var_req_builder.build()?;
129    let local_var_resp = local_var_client.execute(local_var_req).await?;
130
131    let local_var_status = local_var_resp.status();
132    let local_var_content = local_var_resp.text().await?;
133
134    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
135        serde_json::from_str(&local_var_content).map_err(Error::from)
136    } else {
137        let local_var_entity: Option<PisWebrtcStreamsListError> = serde_json::from_str(&local_var_content).ok();
138        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
139        Err(Error::ResponseError(local_var_error))
140    }
141}
142
143pub 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>> {
144    let local_var_configuration = configuration;
145
146    let local_var_client = &local_var_configuration.client;
147
148    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
149    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
150
151    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
152        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
153    }
154    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
155        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
156    };
157    local_var_req_builder = local_var_req_builder.json(&patched_webrtc_stream_request);
158
159    let local_var_req = local_var_req_builder.build()?;
160    let local_var_resp = local_var_client.execute(local_var_req).await?;
161
162    let local_var_status = local_var_resp.status();
163    let local_var_content = local_var_resp.text().await?;
164
165    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
166        serde_json::from_str(&local_var_content).map_err(Error::from)
167    } else {
168        let local_var_entity: Option<PisWebrtcStreamsPartialUpdateError> = serde_json::from_str(&local_var_content).ok();
169        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
170        Err(Error::ResponseError(local_var_error))
171    }
172}
173
174pub async fn pis_webrtc_streams_retrieve(configuration: &configuration::Configuration, id: i32, pi_id: i32) -> Result<crate::models::WebrtcStream, Error<PisWebrtcStreamsRetrieveError>> {
175    let local_var_configuration = configuration;
176
177    let local_var_client = &local_var_configuration.client;
178
179    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
180    let mut local_var_req_builder = local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
181
182    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
183        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
184    }
185    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
186        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
187    };
188
189    let local_var_req = local_var_req_builder.build()?;
190    let local_var_resp = local_var_client.execute(local_var_req).await?;
191
192    let local_var_status = local_var_resp.status();
193    let local_var_content = local_var_resp.text().await?;
194
195    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
196        serde_json::from_str(&local_var_content).map_err(Error::from)
197    } else {
198        let local_var_entity: Option<PisWebrtcStreamsRetrieveError> = serde_json::from_str(&local_var_content).ok();
199        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
200        Err(Error::ResponseError(local_var_error))
201    }
202}
203
204pub 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>> {
205    let local_var_configuration = configuration;
206
207    let local_var_client = &local_var_configuration.client;
208
209    let local_var_uri_str = format!("{}/api/pis/{pi_id}/webrtc-streams/{id}/", local_var_configuration.base_path, id=id, pi_id=pi_id);
210    let mut local_var_req_builder = local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
211
212    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
213        local_var_req_builder = local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
214    }
215    if let Some(ref local_var_token) = local_var_configuration.bearer_access_token {
216        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
217    };
218    local_var_req_builder = local_var_req_builder.json(&webrtc_stream_request);
219
220    let local_var_req = local_var_req_builder.build()?;
221    let local_var_resp = local_var_client.execute(local_var_req).await?;
222
223    let local_var_status = local_var_resp.status();
224    let local_var_content = local_var_resp.text().await?;
225
226    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
227        serde_json::from_str(&local_var_content).map_err(Error::from)
228    } else {
229        let local_var_entity: Option<PisWebrtcStreamsUpdateError> = serde_json::from_str(&local_var_content).ok();
230        let local_var_error = ResponseContent { status: local_var_status, content: local_var_content, entity: local_var_entity };
231        Err(Error::ResponseError(local_var_error))
232    }
233}
234