bitwarden_api_api/apis/
push_api.rs

1/*
2 * Bitwarden Internal API
3 *
4 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
5 *
6 * The version of the OpenAPI document: latest
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17/// struct for typed errors of method [`push_add_organization_put`]
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum PushAddOrganizationPutError {
21    UnknownValue(serde_json::Value),
22}
23
24/// struct for typed errors of method [`push_delete_organization_put`]
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum PushDeleteOrganizationPutError {
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method [`push_delete_post`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum PushDeletePostError {
35    UnknownValue(serde_json::Value),
36}
37
38/// struct for typed errors of method [`push_register_post`]
39#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum PushRegisterPostError {
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`push_send_post`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum PushSendPostError {
49    UnknownValue(serde_json::Value),
50}
51
52pub async fn push_add_organization_put(
53    configuration: &configuration::Configuration,
54    push_update_request_model: Option<models::PushUpdateRequestModel>,
55) -> Result<(), Error<PushAddOrganizationPutError>> {
56    // add a prefix to parameters to efficiently prevent name collisions
57    let p_push_update_request_model = push_update_request_model;
58
59    let uri_str = format!("{}/push/add-organization", configuration.base_path);
60    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
61
62    if let Some(ref user_agent) = configuration.user_agent {
63        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
64    }
65    if let Some(ref token) = configuration.oauth_access_token {
66        req_builder = req_builder.bearer_auth(token.to_owned());
67    };
68    req_builder = req_builder.json(&p_push_update_request_model);
69
70    let req = req_builder.build()?;
71    let resp = configuration.client.execute(req).await?;
72
73    let status = resp.status();
74
75    if !status.is_client_error() && !status.is_server_error() {
76        Ok(())
77    } else {
78        let content = resp.text().await?;
79        let entity: Option<PushAddOrganizationPutError> = serde_json::from_str(&content).ok();
80        Err(Error::ResponseError(ResponseContent {
81            status,
82            content,
83            entity,
84        }))
85    }
86}
87
88pub async fn push_delete_organization_put(
89    configuration: &configuration::Configuration,
90    push_update_request_model: Option<models::PushUpdateRequestModel>,
91) -> Result<(), Error<PushDeleteOrganizationPutError>> {
92    // add a prefix to parameters to efficiently prevent name collisions
93    let p_push_update_request_model = push_update_request_model;
94
95    let uri_str = format!("{}/push/delete-organization", configuration.base_path);
96    let mut req_builder = configuration.client.request(reqwest::Method::PUT, &uri_str);
97
98    if let Some(ref user_agent) = configuration.user_agent {
99        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
100    }
101    if let Some(ref token) = configuration.oauth_access_token {
102        req_builder = req_builder.bearer_auth(token.to_owned());
103    };
104    req_builder = req_builder.json(&p_push_update_request_model);
105
106    let req = req_builder.build()?;
107    let resp = configuration.client.execute(req).await?;
108
109    let status = resp.status();
110
111    if !status.is_client_error() && !status.is_server_error() {
112        Ok(())
113    } else {
114        let content = resp.text().await?;
115        let entity: Option<PushDeleteOrganizationPutError> = serde_json::from_str(&content).ok();
116        Err(Error::ResponseError(ResponseContent {
117            status,
118            content,
119            entity,
120        }))
121    }
122}
123
124pub async fn push_delete_post(
125    configuration: &configuration::Configuration,
126    push_device_request_model: Option<models::PushDeviceRequestModel>,
127) -> Result<(), Error<PushDeletePostError>> {
128    // add a prefix to parameters to efficiently prevent name collisions
129    let p_push_device_request_model = push_device_request_model;
130
131    let uri_str = format!("{}/push/delete", configuration.base_path);
132    let mut req_builder = configuration
133        .client
134        .request(reqwest::Method::POST, &uri_str);
135
136    if let Some(ref user_agent) = configuration.user_agent {
137        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
138    }
139    if let Some(ref token) = configuration.oauth_access_token {
140        req_builder = req_builder.bearer_auth(token.to_owned());
141    };
142    req_builder = req_builder.json(&p_push_device_request_model);
143
144    let req = req_builder.build()?;
145    let resp = configuration.client.execute(req).await?;
146
147    let status = resp.status();
148
149    if !status.is_client_error() && !status.is_server_error() {
150        Ok(())
151    } else {
152        let content = resp.text().await?;
153        let entity: Option<PushDeletePostError> = serde_json::from_str(&content).ok();
154        Err(Error::ResponseError(ResponseContent {
155            status,
156            content,
157            entity,
158        }))
159    }
160}
161
162pub async fn push_register_post(
163    configuration: &configuration::Configuration,
164    push_registration_request_model: Option<models::PushRegistrationRequestModel>,
165) -> Result<(), Error<PushRegisterPostError>> {
166    // add a prefix to parameters to efficiently prevent name collisions
167    let p_push_registration_request_model = push_registration_request_model;
168
169    let uri_str = format!("{}/push/register", configuration.base_path);
170    let mut req_builder = configuration
171        .client
172        .request(reqwest::Method::POST, &uri_str);
173
174    if let Some(ref user_agent) = configuration.user_agent {
175        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
176    }
177    if let Some(ref token) = configuration.oauth_access_token {
178        req_builder = req_builder.bearer_auth(token.to_owned());
179    };
180    req_builder = req_builder.json(&p_push_registration_request_model);
181
182    let req = req_builder.build()?;
183    let resp = configuration.client.execute(req).await?;
184
185    let status = resp.status();
186
187    if !status.is_client_error() && !status.is_server_error() {
188        Ok(())
189    } else {
190        let content = resp.text().await?;
191        let entity: Option<PushRegisterPostError> = serde_json::from_str(&content).ok();
192        Err(Error::ResponseError(ResponseContent {
193            status,
194            content,
195            entity,
196        }))
197    }
198}
199
200pub async fn push_send_post(
201    configuration: &configuration::Configuration,
202    push_send_request_model: Option<models::PushSendRequestModel>,
203) -> Result<(), Error<PushSendPostError>> {
204    // add a prefix to parameters to efficiently prevent name collisions
205    let p_push_send_request_model = push_send_request_model;
206
207    let uri_str = format!("{}/push/send", configuration.base_path);
208    let mut req_builder = configuration
209        .client
210        .request(reqwest::Method::POST, &uri_str);
211
212    if let Some(ref user_agent) = configuration.user_agent {
213        req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
214    }
215    if let Some(ref token) = configuration.oauth_access_token {
216        req_builder = req_builder.bearer_auth(token.to_owned());
217    };
218    req_builder = req_builder.json(&p_push_send_request_model);
219
220    let req = req_builder.build()?;
221    let resp = configuration.client.execute(req).await?;
222
223    let status = resp.status();
224
225    if !status.is_client_error() && !status.is_server_error() {
226        Ok(())
227    } else {
228        let content = resp.text().await?;
229        let entity: Option<PushSendPostError> = serde_json::from_str(&content).ok();
230        Err(Error::ResponseError(ResponseContent {
231            status,
232            content,
233            entity,
234        }))
235    }
236}