Skip to main content

bitwarden_api_api/apis/
security_task_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 SecurityTaskApi: Send + Sync {
29    /// POST /tasks/{orgId}/bulk-create
30    async fn bulk_create_tasks<'a>(
31        &self,
32        org_id: uuid::Uuid,
33        bulk_create_security_tasks_request_model: Option<
34            models::BulkCreateSecurityTasksRequestModel,
35        >,
36    ) -> Result<models::SecurityTasksResponseModelListResponseModel, Error<BulkCreateTasksError>>;
37
38    /// PATCH /tasks/{taskId}/complete
39    async fn complete<'a>(&self, task_id: uuid::Uuid) -> Result<(), Error<CompleteError>>;
40
41    /// GET /tasks
42    async fn get<'a>(
43        &self,
44        status: Option<models::SecurityTaskStatus>,
45    ) -> Result<models::SecurityTasksResponseModelListResponseModel, Error<GetError>>;
46
47    /// GET /tasks/{organizationId}/metrics
48    async fn get_task_metrics_for_organization<'a>(
49        &self,
50        organization_id: uuid::Uuid,
51    ) -> Result<models::SecurityTaskMetricsResponseModel, Error<GetTaskMetricsForOrganizationError>>;
52
53    /// GET /tasks/organization
54    async fn list_for_organization<'a>(
55        &self,
56        organization_id: Option<uuid::Uuid>,
57        status: Option<models::SecurityTaskStatus>,
58    ) -> Result<models::SecurityTasksResponseModelListResponseModel, Error<ListForOrganizationError>>;
59}
60
61pub struct SecurityTaskApiClient {
62    configuration: Arc<configuration::Configuration>,
63}
64
65impl SecurityTaskApiClient {
66    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
67        Self { configuration }
68    }
69}
70
71#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
72#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
73impl SecurityTaskApi for SecurityTaskApiClient {
74    async fn bulk_create_tasks<'a>(
75        &self,
76        org_id: uuid::Uuid,
77        bulk_create_security_tasks_request_model: Option<
78            models::BulkCreateSecurityTasksRequestModel,
79        >,
80    ) -> Result<models::SecurityTasksResponseModelListResponseModel, Error<BulkCreateTasksError>>
81    {
82        let local_var_configuration = &self.configuration;
83
84        let local_var_client = &local_var_configuration.client;
85
86        let local_var_uri_str = format!(
87            "{}/tasks/{orgId}/bulk-create",
88            local_var_configuration.base_path,
89            orgId = org_id
90        );
91        let mut local_var_req_builder =
92            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
93
94        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
95        local_var_req_builder =
96            local_var_req_builder.json(&bulk_create_security_tasks_request_model);
97
98        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
99    }
100
101    async fn complete<'a>(&self, task_id: uuid::Uuid) -> Result<(), Error<CompleteError>> {
102        let local_var_configuration = &self.configuration;
103
104        let local_var_client = &local_var_configuration.client;
105
106        let local_var_uri_str = format!(
107            "{}/tasks/{taskId}/complete",
108            local_var_configuration.base_path,
109            taskId = task_id
110        );
111        let mut local_var_req_builder =
112            local_var_client.request(reqwest::Method::PATCH, local_var_uri_str.as_str());
113
114        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
115
116        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
117    }
118
119    async fn get<'a>(
120        &self,
121        status: Option<models::SecurityTaskStatus>,
122    ) -> Result<models::SecurityTasksResponseModelListResponseModel, Error<GetError>> {
123        let local_var_configuration = &self.configuration;
124
125        let local_var_client = &local_var_configuration.client;
126
127        let local_var_uri_str = format!("{}/tasks", local_var_configuration.base_path);
128        let mut local_var_req_builder =
129            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
130
131        if let Some(ref param_value) = status {
132            local_var_req_builder =
133                local_var_req_builder.query(&[("status", &param_value.to_string())]);
134        }
135        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
136
137        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
138    }
139
140    async fn get_task_metrics_for_organization<'a>(
141        &self,
142        organization_id: uuid::Uuid,
143    ) -> Result<models::SecurityTaskMetricsResponseModel, Error<GetTaskMetricsForOrganizationError>>
144    {
145        let local_var_configuration = &self.configuration;
146
147        let local_var_client = &local_var_configuration.client;
148
149        let local_var_uri_str = format!(
150            "{}/tasks/{organizationId}/metrics",
151            local_var_configuration.base_path,
152            organizationId = organization_id
153        );
154        let mut local_var_req_builder =
155            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
156
157        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
158
159        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
160    }
161
162    async fn list_for_organization<'a>(
163        &self,
164        organization_id: Option<uuid::Uuid>,
165        status: Option<models::SecurityTaskStatus>,
166    ) -> Result<models::SecurityTasksResponseModelListResponseModel, Error<ListForOrganizationError>>
167    {
168        let local_var_configuration = &self.configuration;
169
170        let local_var_client = &local_var_configuration.client;
171
172        let local_var_uri_str = format!("{}/tasks/organization", local_var_configuration.base_path);
173        let mut local_var_req_builder =
174            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
175
176        if let Some(ref param_value) = organization_id {
177            local_var_req_builder =
178                local_var_req_builder.query(&[("organizationId", &param_value.to_string())]);
179        }
180        if let Some(ref param_value) = status {
181            local_var_req_builder =
182                local_var_req_builder.query(&[("status", &param_value.to_string())]);
183        }
184        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
185
186        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
187    }
188}
189
190/// struct for typed errors of method [`SecurityTaskApi::bulk_create_tasks`]
191#[derive(Debug, Clone, Serialize, Deserialize)]
192#[serde(untagged)]
193pub enum BulkCreateTasksError {
194    UnknownValue(serde_json::Value),
195}
196/// struct for typed errors of method [`SecurityTaskApi::complete`]
197#[derive(Debug, Clone, Serialize, Deserialize)]
198#[serde(untagged)]
199pub enum CompleteError {
200    UnknownValue(serde_json::Value),
201}
202/// struct for typed errors of method [`SecurityTaskApi::get`]
203#[derive(Debug, Clone, Serialize, Deserialize)]
204#[serde(untagged)]
205pub enum GetError {
206    UnknownValue(serde_json::Value),
207}
208/// struct for typed errors of method [`SecurityTaskApi::get_task_metrics_for_organization`]
209#[derive(Debug, Clone, Serialize, Deserialize)]
210#[serde(untagged)]
211pub enum GetTaskMetricsForOrganizationError {
212    UnknownValue(serde_json::Value),
213}
214/// struct for typed errors of method [`SecurityTaskApi::list_for_organization`]
215#[derive(Debug, Clone, Serialize, Deserialize)]
216#[serde(untagged)]
217pub enum ListForOrganizationError {
218    UnknownValue(serde_json::Value),
219}