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<CreateOrganizationReportError>>;
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<GetLatestOrganizationReportError>>;
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<GetOrganizationReportError>>;
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<GetOrganizationReportApplicationDataError>>;
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<GetOrganizationReportDataError>>;
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<GetOrganizationReportSummaryError>>;
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<
77        Vec<models::OrganizationReportSummaryDataResponse>,
78        Error<GetOrganizationReportSummaryDataByDateRangeError>,
79    >;
80
81    /// PATCH /reports/organizations/{organizationId}/{reportId}
82    async fn update_organization_report<'a>(
83        &self,
84        organization_id: uuid::Uuid,
85        report_id: &'a str,
86        update_organization_report_request: Option<models::UpdateOrganizationReportRequest>,
87    ) -> Result<(), Error<UpdateOrganizationReportError>>;
88
89    /// PATCH /reports/organizations/{organizationId}/data/application/{reportId}
90    async fn update_organization_report_application_data<'a>(
91        &self,
92        organization_id: uuid::Uuid,
93        report_id: uuid::Uuid,
94        update_organization_report_application_data_request: Option<
95            models::UpdateOrganizationReportApplicationDataRequest,
96        >,
97    ) -> Result<(), Error<UpdateOrganizationReportApplicationDataError>>;
98
99    /// PATCH /reports/organizations/{organizationId}/data/report/{reportId}
100    async fn update_organization_report_data<'a>(
101        &self,
102        organization_id: uuid::Uuid,
103        report_id: uuid::Uuid,
104        update_organization_report_data_request: Option<
105            models::UpdateOrganizationReportDataRequest,
106        >,
107    ) -> Result<(), Error<UpdateOrganizationReportDataError>>;
108
109    /// PATCH /reports/organizations/{organizationId}/data/summary/{reportId}
110    async fn update_organization_report_summary<'a>(
111        &self,
112        organization_id: uuid::Uuid,
113        report_id: uuid::Uuid,
114        update_organization_report_summary_request: Option<
115            models::UpdateOrganizationReportSummaryRequest,
116        >,
117    ) -> Result<(), Error<UpdateOrganizationReportSummaryError>>;
118}
119
120pub struct OrganizationReportsApiClient {
121    configuration: Arc<configuration::Configuration>,
122}
123
124impl OrganizationReportsApiClient {
125    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
126        Self { configuration }
127    }
128}
129
130#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
131#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
132impl OrganizationReportsApi for OrganizationReportsApiClient {
133    async fn create_organization_report<'a>(
134        &self,
135        organization_id: uuid::Uuid,
136        add_organization_report_request: Option<models::AddOrganizationReportRequest>,
137    ) -> Result<(), Error<CreateOrganizationReportError>> {
138        let local_var_configuration = &self.configuration;
139
140        let local_var_client = &local_var_configuration.client;
141
142        let local_var_uri_str = format!(
143            "{}/reports/organizations/{organizationId}",
144            local_var_configuration.base_path,
145            organizationId = organization_id
146        );
147        let mut local_var_req_builder =
148            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
149
150        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
151        local_var_req_builder = local_var_req_builder.json(&add_organization_report_request);
152
153        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
154    }
155
156    async fn get_latest_organization_report<'a>(
157        &self,
158        organization_id: uuid::Uuid,
159    ) -> Result<(), Error<GetLatestOrganizationReportError>> {
160        let local_var_configuration = &self.configuration;
161
162        let local_var_client = &local_var_configuration.client;
163
164        let local_var_uri_str = format!(
165            "{}/reports/organizations/{organizationId}/latest",
166            local_var_configuration.base_path,
167            organizationId = organization_id
168        );
169        let mut local_var_req_builder =
170            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
171
172        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
173
174        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
175    }
176
177    async fn get_organization_report<'a>(
178        &self,
179        organization_id: uuid::Uuid,
180        report_id: uuid::Uuid,
181    ) -> Result<(), Error<GetOrganizationReportError>> {
182        let local_var_configuration = &self.configuration;
183
184        let local_var_client = &local_var_configuration.client;
185
186        let local_var_uri_str = format!(
187            "{}/reports/organizations/{organizationId}/{reportId}",
188            local_var_configuration.base_path,
189            organizationId = organization_id,
190            reportId = report_id
191        );
192        let mut local_var_req_builder =
193            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
194
195        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
196
197        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
198    }
199
200    async fn get_organization_report_application_data<'a>(
201        &self,
202        organization_id: uuid::Uuid,
203        report_id: uuid::Uuid,
204    ) -> Result<(), Error<GetOrganizationReportApplicationDataError>> {
205        let local_var_configuration = &self.configuration;
206
207        let local_var_client = &local_var_configuration.client;
208
209        let local_var_uri_str = format!(
210            "{}/reports/organizations/{organizationId}/data/application/{reportId}",
211            local_var_configuration.base_path,
212            organizationId = organization_id,
213            reportId = report_id
214        );
215        let mut local_var_req_builder =
216            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
217
218        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
219
220        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
221    }
222
223    async fn get_organization_report_data<'a>(
224        &self,
225        organization_id: uuid::Uuid,
226        report_id: uuid::Uuid,
227    ) -> Result<(), Error<GetOrganizationReportDataError>> {
228        let local_var_configuration = &self.configuration;
229
230        let local_var_client = &local_var_configuration.client;
231
232        let local_var_uri_str = format!(
233            "{}/reports/organizations/{organizationId}/data/report/{reportId}",
234            local_var_configuration.base_path,
235            organizationId = organization_id,
236            reportId = report_id
237        );
238        let mut local_var_req_builder =
239            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
240
241        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
242
243        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
244    }
245
246    async fn get_organization_report_summary<'a>(
247        &self,
248        organization_id: uuid::Uuid,
249        report_id: uuid::Uuid,
250    ) -> Result<(), Error<GetOrganizationReportSummaryError>> {
251        let local_var_configuration = &self.configuration;
252
253        let local_var_client = &local_var_configuration.client;
254
255        let local_var_uri_str = format!(
256            "{}/reports/organizations/{organizationId}/data/summary/{reportId}",
257            local_var_configuration.base_path,
258            organizationId = organization_id,
259            reportId = report_id
260        );
261        let mut local_var_req_builder =
262            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
263
264        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
265
266        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
267    }
268
269    async fn get_organization_report_summary_data_by_date_range<'a>(
270        &self,
271        organization_id: uuid::Uuid,
272        start_date: Option<String>,
273        end_date: Option<String>,
274    ) -> Result<
275        Vec<models::OrganizationReportSummaryDataResponse>,
276        Error<GetOrganizationReportSummaryDataByDateRangeError>,
277    > {
278        let local_var_configuration = &self.configuration;
279
280        let local_var_client = &local_var_configuration.client;
281
282        let local_var_uri_str = format!(
283            "{}/reports/organizations/{organizationId}/data/summary",
284            local_var_configuration.base_path,
285            organizationId = organization_id
286        );
287        let mut local_var_req_builder =
288            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
289
290        if let Some(ref param_value) = start_date {
291            local_var_req_builder =
292                local_var_req_builder.query(&[("startDate", &param_value.to_string())]);
293        }
294        if let Some(ref param_value) = end_date {
295            local_var_req_builder =
296                local_var_req_builder.query(&[("endDate", &param_value.to_string())]);
297        }
298        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
299
300        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
301    }
302
303    async fn update_organization_report<'a>(
304        &self,
305        organization_id: uuid::Uuid,
306        report_id: &'a str,
307        update_organization_report_request: Option<models::UpdateOrganizationReportRequest>,
308    ) -> Result<(), Error<UpdateOrganizationReportError>> {
309        let local_var_configuration = &self.configuration;
310
311        let local_var_client = &local_var_configuration.client;
312
313        let local_var_uri_str = format!(
314            "{}/reports/organizations/{organizationId}/{reportId}",
315            local_var_configuration.base_path,
316            organizationId = organization_id,
317            reportId = crate::apis::urlencode(report_id)
318        );
319        let mut local_var_req_builder =
320            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
321
322        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
323        local_var_req_builder = local_var_req_builder.json(&update_organization_report_request);
324
325        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
326    }
327
328    async fn update_organization_report_application_data<'a>(
329        &self,
330        organization_id: uuid::Uuid,
331        report_id: uuid::Uuid,
332        update_organization_report_application_data_request: Option<
333            models::UpdateOrganizationReportApplicationDataRequest,
334        >,
335    ) -> Result<(), Error<UpdateOrganizationReportApplicationDataError>> {
336        let local_var_configuration = &self.configuration;
337
338        let local_var_client = &local_var_configuration.client;
339
340        let local_var_uri_str = format!(
341            "{}/reports/organizations/{organizationId}/data/application/{reportId}",
342            local_var_configuration.base_path,
343            organizationId = organization_id,
344            reportId = report_id
345        );
346        let mut local_var_req_builder =
347            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
348
349        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
350        local_var_req_builder =
351            local_var_req_builder.json(&update_organization_report_application_data_request);
352
353        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
354    }
355
356    async fn update_organization_report_data<'a>(
357        &self,
358        organization_id: uuid::Uuid,
359        report_id: uuid::Uuid,
360        update_organization_report_data_request: Option<
361            models::UpdateOrganizationReportDataRequest,
362        >,
363    ) -> Result<(), Error<UpdateOrganizationReportDataError>> {
364        let local_var_configuration = &self.configuration;
365
366        let local_var_client = &local_var_configuration.client;
367
368        let local_var_uri_str = format!(
369            "{}/reports/organizations/{organizationId}/data/report/{reportId}",
370            local_var_configuration.base_path,
371            organizationId = organization_id,
372            reportId = report_id
373        );
374        let mut local_var_req_builder =
375            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
376
377        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
378        local_var_req_builder =
379            local_var_req_builder.json(&update_organization_report_data_request);
380
381        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
382    }
383
384    async fn update_organization_report_summary<'a>(
385        &self,
386        organization_id: uuid::Uuid,
387        report_id: uuid::Uuid,
388        update_organization_report_summary_request: Option<
389            models::UpdateOrganizationReportSummaryRequest,
390        >,
391    ) -> Result<(), Error<UpdateOrganizationReportSummaryError>> {
392        let local_var_configuration = &self.configuration;
393
394        let local_var_client = &local_var_configuration.client;
395
396        let local_var_uri_str = format!(
397            "{}/reports/organizations/{organizationId}/data/summary/{reportId}",
398            local_var_configuration.base_path,
399            organizationId = organization_id,
400            reportId = report_id
401        );
402        let mut local_var_req_builder =
403            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
404
405        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
406        local_var_req_builder =
407            local_var_req_builder.json(&update_organization_report_summary_request);
408
409        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
410    }
411}
412
413/// struct for typed errors of method [`OrganizationReportsApi::create_organization_report`]
414#[derive(Debug, Clone, Serialize, Deserialize)]
415#[serde(untagged)]
416pub enum CreateOrganizationReportError {
417    UnknownValue(serde_json::Value),
418}
419/// struct for typed errors of method [`OrganizationReportsApi::get_latest_organization_report`]
420#[derive(Debug, Clone, Serialize, Deserialize)]
421#[serde(untagged)]
422pub enum GetLatestOrganizationReportError {
423    UnknownValue(serde_json::Value),
424}
425/// struct for typed errors of method [`OrganizationReportsApi::get_organization_report`]
426#[derive(Debug, Clone, Serialize, Deserialize)]
427#[serde(untagged)]
428pub enum GetOrganizationReportError {
429    UnknownValue(serde_json::Value),
430}
431/// struct for typed errors of method
432/// [`OrganizationReportsApi::get_organization_report_application_data`]
433#[derive(Debug, Clone, Serialize, Deserialize)]
434#[serde(untagged)]
435pub enum GetOrganizationReportApplicationDataError {
436    UnknownValue(serde_json::Value),
437}
438/// struct for typed errors of method [`OrganizationReportsApi::get_organization_report_data`]
439#[derive(Debug, Clone, Serialize, Deserialize)]
440#[serde(untagged)]
441pub enum GetOrganizationReportDataError {
442    UnknownValue(serde_json::Value),
443}
444/// struct for typed errors of method [`OrganizationReportsApi::get_organization_report_summary`]
445#[derive(Debug, Clone, Serialize, Deserialize)]
446#[serde(untagged)]
447pub enum GetOrganizationReportSummaryError {
448    UnknownValue(serde_json::Value),
449}
450/// struct for typed errors of method
451/// [`OrganizationReportsApi::get_organization_report_summary_data_by_date_range`]
452#[derive(Debug, Clone, Serialize, Deserialize)]
453#[serde(untagged)]
454pub enum GetOrganizationReportSummaryDataByDateRangeError {
455    Status400(),
456    Status404(),
457    UnknownValue(serde_json::Value),
458}
459/// struct for typed errors of method [`OrganizationReportsApi::update_organization_report`]
460#[derive(Debug, Clone, Serialize, Deserialize)]
461#[serde(untagged)]
462pub enum UpdateOrganizationReportError {
463    UnknownValue(serde_json::Value),
464}
465/// struct for typed errors of method
466/// [`OrganizationReportsApi::update_organization_report_application_data`]
467#[derive(Debug, Clone, Serialize, Deserialize)]
468#[serde(untagged)]
469pub enum UpdateOrganizationReportApplicationDataError {
470    UnknownValue(serde_json::Value),
471}
472/// struct for typed errors of method [`OrganizationReportsApi::update_organization_report_data`]
473#[derive(Debug, Clone, Serialize, Deserialize)]
474#[serde(untagged)]
475pub enum UpdateOrganizationReportDataError {
476    UnknownValue(serde_json::Value),
477}
478/// struct for typed errors of method [`OrganizationReportsApi::update_organization_report_summary`]
479#[derive(Debug, Clone, Serialize, Deserialize)]
480#[serde(untagged)]
481pub enum UpdateOrganizationReportSummaryError {
482    UnknownValue(serde_json::Value),
483}