Skip to main content

bitwarden_api_api/apis/
organization_reports_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 std::sync::Arc;
12
13use async_trait::async_trait;
14#[cfg(feature = "mockall")]
15use mockall::automock;
16use reqwest;
17use serde::{Deserialize, Serialize, de::Error as _};
18
19use super::{Error, configuration};
20use crate::{
21    apis::{AuthRequired, ContentType, ResponseContent},
22    models,
23};
24
25#[cfg_attr(feature = "mockall", automock)]
26#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
27#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
28pub trait OrganizationReportsApi: Send + Sync {
29    /// POST /reports/organizations/{organizationId}
30    async fn create_organization_report<'a>(
31        &self,
32        organization_id: uuid::Uuid,
33        add_organization_report_request: Option<models::AddOrganizationReportRequest>,
34    ) -> Result<(), Error>;
35
36    /// GET /reports/organizations/{organizationId}/latest
37    async fn get_latest_organization_report<'a>(
38        &self,
39        organization_id: uuid::Uuid,
40    ) -> Result<(), Error>;
41
42    /// GET /reports/organizations/{organizationId}/{reportId}
43    async fn get_organization_report<'a>(
44        &self,
45        organization_id: uuid::Uuid,
46        report_id: uuid::Uuid,
47    ) -> Result<(), Error>;
48
49    /// GET /reports/organizations/{organizationId}/data/application/{reportId}
50    async fn get_organization_report_application_data<'a>(
51        &self,
52        organization_id: uuid::Uuid,
53        report_id: uuid::Uuid,
54    ) -> Result<(), Error>;
55
56    /// GET /reports/organizations/{organizationId}/data/report/{reportId}
57    async fn get_organization_report_data<'a>(
58        &self,
59        organization_id: uuid::Uuid,
60        report_id: uuid::Uuid,
61    ) -> Result<(), Error>;
62
63    /// GET /reports/organizations/{organizationId}/data/summary/{reportId}
64    async fn get_organization_report_summary<'a>(
65        &self,
66        organization_id: uuid::Uuid,
67        report_id: uuid::Uuid,
68    ) -> Result<(), Error>;
69
70    /// GET /reports/organizations/{organizationId}/data/summary
71    async fn get_organization_report_summary_data_by_date_range<'a>(
72        &self,
73        organization_id: uuid::Uuid,
74        start_date: Option<String>,
75        end_date: Option<String>,
76    ) -> Result<Vec<models::OrganizationReportSummaryDataResponse>, Error>;
77
78    /// PATCH /reports/organizations/{organizationId}/{reportId}
79    async fn update_organization_report<'a>(
80        &self,
81        organization_id: uuid::Uuid,
82        report_id: &'a str,
83        update_organization_report_request: Option<models::UpdateOrganizationReportRequest>,
84    ) -> Result<(), Error>;
85
86    /// PATCH /reports/organizations/{organizationId}/data/application/{reportId}
87    async fn update_organization_report_application_data<'a>(
88        &self,
89        organization_id: uuid::Uuid,
90        report_id: uuid::Uuid,
91        update_organization_report_application_data_request: Option<
92            models::UpdateOrganizationReportApplicationDataRequest,
93        >,
94    ) -> Result<(), Error>;
95
96    /// PATCH /reports/organizations/{organizationId}/data/report/{reportId}
97    async fn update_organization_report_data<'a>(
98        &self,
99        organization_id: uuid::Uuid,
100        report_id: uuid::Uuid,
101        update_organization_report_data_request: Option<
102            models::UpdateOrganizationReportDataRequest,
103        >,
104    ) -> Result<(), Error>;
105
106    /// PATCH /reports/organizations/{organizationId}/data/summary/{reportId}
107    async fn update_organization_report_summary<'a>(
108        &self,
109        organization_id: uuid::Uuid,
110        report_id: uuid::Uuid,
111        update_organization_report_summary_request: Option<
112            models::UpdateOrganizationReportSummaryRequest,
113        >,
114    ) -> Result<(), Error>;
115}
116
117pub struct OrganizationReportsApiClient {
118    configuration: Arc<configuration::Configuration>,
119}
120
121impl OrganizationReportsApiClient {
122    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
123        Self { configuration }
124    }
125}
126
127#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
128#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
129impl OrganizationReportsApi for OrganizationReportsApiClient {
130    async fn create_organization_report<'a>(
131        &self,
132        organization_id: uuid::Uuid,
133        add_organization_report_request: Option<models::AddOrganizationReportRequest>,
134    ) -> Result<(), Error> {
135        let local_var_configuration = &self.configuration;
136
137        let local_var_client = &local_var_configuration.client;
138
139        let local_var_uri_str = format!(
140            "{}/reports/organizations/{organizationId}",
141            local_var_configuration.base_path,
142            organizationId = organization_id
143        );
144        let mut local_var_req_builder =
145            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
146
147        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
148        local_var_req_builder = local_var_req_builder.json(&add_organization_report_request);
149
150        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
151    }
152
153    async fn get_latest_organization_report<'a>(
154        &self,
155        organization_id: uuid::Uuid,
156    ) -> Result<(), Error> {
157        let local_var_configuration = &self.configuration;
158
159        let local_var_client = &local_var_configuration.client;
160
161        let local_var_uri_str = format!(
162            "{}/reports/organizations/{organizationId}/latest",
163            local_var_configuration.base_path,
164            organizationId = organization_id
165        );
166        let mut local_var_req_builder =
167            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
168
169        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
170
171        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
172    }
173
174    async fn get_organization_report<'a>(
175        &self,
176        organization_id: uuid::Uuid,
177        report_id: uuid::Uuid,
178    ) -> Result<(), Error> {
179        let local_var_configuration = &self.configuration;
180
181        let local_var_client = &local_var_configuration.client;
182
183        let local_var_uri_str = format!(
184            "{}/reports/organizations/{organizationId}/{reportId}",
185            local_var_configuration.base_path,
186            organizationId = organization_id,
187            reportId = report_id
188        );
189        let mut local_var_req_builder =
190            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
191
192        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
193
194        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
195    }
196
197    async fn get_organization_report_application_data<'a>(
198        &self,
199        organization_id: uuid::Uuid,
200        report_id: uuid::Uuid,
201    ) -> Result<(), Error> {
202        let local_var_configuration = &self.configuration;
203
204        let local_var_client = &local_var_configuration.client;
205
206        let local_var_uri_str = format!(
207            "{}/reports/organizations/{organizationId}/data/application/{reportId}",
208            local_var_configuration.base_path,
209            organizationId = organization_id,
210            reportId = report_id
211        );
212        let mut local_var_req_builder =
213            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
214
215        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
216
217        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
218    }
219
220    async fn get_organization_report_data<'a>(
221        &self,
222        organization_id: uuid::Uuid,
223        report_id: uuid::Uuid,
224    ) -> Result<(), Error> {
225        let local_var_configuration = &self.configuration;
226
227        let local_var_client = &local_var_configuration.client;
228
229        let local_var_uri_str = format!(
230            "{}/reports/organizations/{organizationId}/data/report/{reportId}",
231            local_var_configuration.base_path,
232            organizationId = organization_id,
233            reportId = report_id
234        );
235        let mut local_var_req_builder =
236            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
237
238        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
239
240        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
241    }
242
243    async fn get_organization_report_summary<'a>(
244        &self,
245        organization_id: uuid::Uuid,
246        report_id: uuid::Uuid,
247    ) -> Result<(), Error> {
248        let local_var_configuration = &self.configuration;
249
250        let local_var_client = &local_var_configuration.client;
251
252        let local_var_uri_str = format!(
253            "{}/reports/organizations/{organizationId}/data/summary/{reportId}",
254            local_var_configuration.base_path,
255            organizationId = organization_id,
256            reportId = report_id
257        );
258        let mut local_var_req_builder =
259            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
260
261        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
262
263        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
264    }
265
266    async fn get_organization_report_summary_data_by_date_range<'a>(
267        &self,
268        organization_id: uuid::Uuid,
269        start_date: Option<String>,
270        end_date: Option<String>,
271    ) -> Result<Vec<models::OrganizationReportSummaryDataResponse>, Error> {
272        let local_var_configuration = &self.configuration;
273
274        let local_var_client = &local_var_configuration.client;
275
276        let local_var_uri_str = format!(
277            "{}/reports/organizations/{organizationId}/data/summary",
278            local_var_configuration.base_path,
279            organizationId = organization_id
280        );
281        let mut local_var_req_builder =
282            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
283
284        if let Some(ref param_value) = start_date {
285            local_var_req_builder =
286                local_var_req_builder.query(&[("startDate", &param_value.to_string())]);
287        }
288        if let Some(ref param_value) = end_date {
289            local_var_req_builder =
290                local_var_req_builder.query(&[("endDate", &param_value.to_string())]);
291        }
292        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
293
294        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
295    }
296
297    async fn update_organization_report<'a>(
298        &self,
299        organization_id: uuid::Uuid,
300        report_id: &'a str,
301        update_organization_report_request: Option<models::UpdateOrganizationReportRequest>,
302    ) -> Result<(), Error> {
303        let local_var_configuration = &self.configuration;
304
305        let local_var_client = &local_var_configuration.client;
306
307        let local_var_uri_str = format!(
308            "{}/reports/organizations/{organizationId}/{reportId}",
309            local_var_configuration.base_path,
310            organizationId = organization_id,
311            reportId = crate::apis::urlencode(report_id)
312        );
313        let mut local_var_req_builder =
314            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
315
316        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
317        local_var_req_builder = local_var_req_builder.json(&update_organization_report_request);
318
319        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
320    }
321
322    async fn update_organization_report_application_data<'a>(
323        &self,
324        organization_id: uuid::Uuid,
325        report_id: uuid::Uuid,
326        update_organization_report_application_data_request: Option<
327            models::UpdateOrganizationReportApplicationDataRequest,
328        >,
329    ) -> Result<(), Error> {
330        let local_var_configuration = &self.configuration;
331
332        let local_var_client = &local_var_configuration.client;
333
334        let local_var_uri_str = format!(
335            "{}/reports/organizations/{organizationId}/data/application/{reportId}",
336            local_var_configuration.base_path,
337            organizationId = organization_id,
338            reportId = report_id
339        );
340        let mut local_var_req_builder =
341            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
342
343        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
344        local_var_req_builder =
345            local_var_req_builder.json(&update_organization_report_application_data_request);
346
347        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
348    }
349
350    async fn update_organization_report_data<'a>(
351        &self,
352        organization_id: uuid::Uuid,
353        report_id: uuid::Uuid,
354        update_organization_report_data_request: Option<
355            models::UpdateOrganizationReportDataRequest,
356        >,
357    ) -> Result<(), Error> {
358        let local_var_configuration = &self.configuration;
359
360        let local_var_client = &local_var_configuration.client;
361
362        let local_var_uri_str = format!(
363            "{}/reports/organizations/{organizationId}/data/report/{reportId}",
364            local_var_configuration.base_path,
365            organizationId = organization_id,
366            reportId = report_id
367        );
368        let mut local_var_req_builder =
369            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
370
371        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
372        local_var_req_builder =
373            local_var_req_builder.json(&update_organization_report_data_request);
374
375        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
376    }
377
378    async fn update_organization_report_summary<'a>(
379        &self,
380        organization_id: uuid::Uuid,
381        report_id: uuid::Uuid,
382        update_organization_report_summary_request: Option<
383            models::UpdateOrganizationReportSummaryRequest,
384        >,
385    ) -> Result<(), Error> {
386        let local_var_configuration = &self.configuration;
387
388        let local_var_client = &local_var_configuration.client;
389
390        let local_var_uri_str = format!(
391            "{}/reports/organizations/{organizationId}/data/summary/{reportId}",
392            local_var_configuration.base_path,
393            organizationId = organization_id,
394            reportId = report_id
395        );
396        let mut local_var_req_builder =
397            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
398
399        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
400        local_var_req_builder =
401            local_var_req_builder.json(&update_organization_report_summary_request);
402
403        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
404    }
405}