bitwarden_api_api/apis/
push_api.rs1use reqwest;
12use serde::{de::Error as _, Deserialize, Serialize};
13
14use super::{configuration, ContentType, Error};
15use crate::{apis::ResponseContent, models};
16
17#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum PushAddOrganizationPutError {
21 UnknownValue(serde_json::Value),
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum PushDeleteOrganizationPutError {
28 UnknownValue(serde_json::Value),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum PushDeletePostError {
35 UnknownValue(serde_json::Value),
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum PushRegisterPostError {
42 UnknownValue(serde_json::Value),
43}
44
45#[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 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 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 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 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 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}