Skip to main content

bitwarden_api_api/apis/
organization_connections_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 OrganizationConnectionsApi: Send + Sync {
29    /// GET /organizations/connections/enabled
30    async fn connections_enabled(&self) -> Result<bool, Error<ConnectionsEnabledError>>;
31
32    /// POST /organizations/connections
33    async fn create_connection<'a>(
34        &self,
35        organization_connection_request_model: Option<models::OrganizationConnectionRequestModel>,
36    ) -> Result<models::OrganizationConnectionResponseModel, Error<CreateConnectionError>>;
37
38    /// DELETE /organizations/connections/{organizationConnectionId}
39    async fn delete_connection<'a>(
40        &self,
41        organization_connection_id: uuid::Uuid,
42    ) -> Result<(), Error<DeleteConnectionError>>;
43
44    /// GET /organizations/connections/{organizationId}/{type}
45    async fn get_connection<'a>(
46        &self,
47        organization_id: uuid::Uuid,
48        r#type: models::OrganizationConnectionType,
49    ) -> Result<models::OrganizationConnectionResponseModel, Error<GetConnectionError>>;
50
51    /// PUT /organizations/connections/{organizationConnectionId}
52    async fn update_connection<'a>(
53        &self,
54        organization_connection_id: uuid::Uuid,
55        organization_connection_request_model: Option<models::OrganizationConnectionRequestModel>,
56    ) -> Result<models::OrganizationConnectionResponseModel, Error<UpdateConnectionError>>;
57}
58
59pub struct OrganizationConnectionsApiClient {
60    configuration: Arc<configuration::Configuration>,
61}
62
63impl OrganizationConnectionsApiClient {
64    pub fn new(configuration: Arc<configuration::Configuration>) -> Self {
65        Self { configuration }
66    }
67}
68
69#[cfg_attr(target_arch = "wasm32", async_trait(?Send))]
70#[cfg_attr(not(target_arch = "wasm32"), async_trait)]
71impl OrganizationConnectionsApi for OrganizationConnectionsApiClient {
72    async fn connections_enabled(&self) -> Result<bool, Error<ConnectionsEnabledError>> {
73        let local_var_configuration = &self.configuration;
74
75        let local_var_client = &local_var_configuration.client;
76
77        let local_var_uri_str = format!(
78            "{}/organizations/connections/enabled",
79            local_var_configuration.base_path
80        );
81        let mut local_var_req_builder =
82            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
83
84        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
85
86        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
87    }
88
89    async fn create_connection<'a>(
90        &self,
91        organization_connection_request_model: Option<models::OrganizationConnectionRequestModel>,
92    ) -> Result<models::OrganizationConnectionResponseModel, Error<CreateConnectionError>> {
93        let local_var_configuration = &self.configuration;
94
95        let local_var_client = &local_var_configuration.client;
96
97        let local_var_uri_str = format!(
98            "{}/organizations/connections",
99            local_var_configuration.base_path
100        );
101        let mut local_var_req_builder =
102            local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
103
104        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
105        local_var_req_builder = local_var_req_builder.json(&organization_connection_request_model);
106
107        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
108    }
109
110    async fn delete_connection<'a>(
111        &self,
112        organization_connection_id: uuid::Uuid,
113    ) -> Result<(), Error<DeleteConnectionError>> {
114        let local_var_configuration = &self.configuration;
115
116        let local_var_client = &local_var_configuration.client;
117
118        let local_var_uri_str = format!(
119            "{}/organizations/connections/{organizationConnectionId}",
120            local_var_configuration.base_path,
121            organizationConnectionId = organization_connection_id
122        );
123        let mut local_var_req_builder =
124            local_var_client.request(reqwest::Method::DELETE, local_var_uri_str.as_str());
125
126        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
127
128        bitwarden_api_base::process_with_empty_response(local_var_req_builder).await
129    }
130
131    async fn get_connection<'a>(
132        &self,
133        organization_id: uuid::Uuid,
134        r#type: models::OrganizationConnectionType,
135    ) -> Result<models::OrganizationConnectionResponseModel, Error<GetConnectionError>> {
136        let local_var_configuration = &self.configuration;
137
138        let local_var_client = &local_var_configuration.client;
139
140        let local_var_uri_str = format!("{}/organizations/connections/{organizationId}/{type}", local_var_configuration.base_path, organizationId=organization_id, type=r#type.to_string());
141        let mut local_var_req_builder =
142            local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
143
144        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
145
146        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
147    }
148
149    async fn update_connection<'a>(
150        &self,
151        organization_connection_id: uuid::Uuid,
152        organization_connection_request_model: Option<models::OrganizationConnectionRequestModel>,
153    ) -> Result<models::OrganizationConnectionResponseModel, Error<UpdateConnectionError>> {
154        let local_var_configuration = &self.configuration;
155
156        let local_var_client = &local_var_configuration.client;
157
158        let local_var_uri_str = format!(
159            "{}/organizations/connections/{organizationConnectionId}",
160            local_var_configuration.base_path,
161            organizationConnectionId = organization_connection_id
162        );
163        let mut local_var_req_builder =
164            local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
165
166        local_var_req_builder = local_var_req_builder.with_extension(AuthRequired::Bearer);
167        local_var_req_builder = local_var_req_builder.json(&organization_connection_request_model);
168
169        bitwarden_api_base::process_with_json_response(local_var_req_builder).await
170    }
171}
172
173/// struct for typed errors of method [`OrganizationConnectionsApi::connections_enabled`]
174#[derive(Debug, Clone, Serialize, Deserialize)]
175#[serde(untagged)]
176pub enum ConnectionsEnabledError {
177    UnknownValue(serde_json::Value),
178}
179/// struct for typed errors of method [`OrganizationConnectionsApi::create_connection`]
180#[derive(Debug, Clone, Serialize, Deserialize)]
181#[serde(untagged)]
182pub enum CreateConnectionError {
183    UnknownValue(serde_json::Value),
184}
185/// struct for typed errors of method [`OrganizationConnectionsApi::delete_connection`]
186#[derive(Debug, Clone, Serialize, Deserialize)]
187#[serde(untagged)]
188pub enum DeleteConnectionError {
189    UnknownValue(serde_json::Value),
190}
191/// struct for typed errors of method [`OrganizationConnectionsApi::get_connection`]
192#[derive(Debug, Clone, Serialize, Deserialize)]
193#[serde(untagged)]
194pub enum GetConnectionError {
195    UnknownValue(serde_json::Value),
196}
197/// struct for typed errors of method [`OrganizationConnectionsApi::update_connection`]
198#[derive(Debug, Clone, Serialize, Deserialize)]
199#[serde(untagged)]
200pub enum UpdateConnectionError {
201    UnknownValue(serde_json::Value),
202}