bitwarden_api_api/apis/
projects_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 reqwest;
12use serde::{Deserialize, Serialize};
13
14use super::{configuration, Error};
15use crate::{apis::ResponseContent, models};
16
17/// struct for typed errors of method [`organizations_organization_id_projects_get`]
18#[derive(Debug, Clone, Serialize, Deserialize)]
19#[serde(untagged)]
20pub enum OrganizationsOrganizationIdProjectsGetError {
21    UnknownValue(serde_json::Value),
22}
23
24/// struct for typed errors of method [`organizations_organization_id_projects_post`]
25#[derive(Debug, Clone, Serialize, Deserialize)]
26#[serde(untagged)]
27pub enum OrganizationsOrganizationIdProjectsPostError {
28    UnknownValue(serde_json::Value),
29}
30
31/// struct for typed errors of method [`projects_delete_post`]
32#[derive(Debug, Clone, Serialize, Deserialize)]
33#[serde(untagged)]
34pub enum ProjectsDeletePostError {
35    UnknownValue(serde_json::Value),
36}
37
38/// struct for typed errors of method [`projects_id_get`]
39#[derive(Debug, Clone, Serialize, Deserialize)]
40#[serde(untagged)]
41pub enum ProjectsIdGetError {
42    UnknownValue(serde_json::Value),
43}
44
45/// struct for typed errors of method [`projects_id_put`]
46#[derive(Debug, Clone, Serialize, Deserialize)]
47#[serde(untagged)]
48pub enum ProjectsIdPutError {
49    UnknownValue(serde_json::Value),
50}
51
52pub async fn organizations_organization_id_projects_get(
53    configuration: &configuration::Configuration,
54    organization_id: uuid::Uuid,
55) -> Result<
56    models::ProjectResponseModelListResponseModel,
57    Error<OrganizationsOrganizationIdProjectsGetError>,
58> {
59    let local_var_configuration = configuration;
60
61    let local_var_client = &local_var_configuration.client;
62
63    let local_var_uri_str = format!(
64        "{}/organizations/{organizationId}/projects",
65        local_var_configuration.base_path,
66        organizationId = crate::apis::urlencode(organization_id.to_string())
67    );
68    let mut local_var_req_builder =
69        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
70
71    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
72        local_var_req_builder =
73            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
74    }
75    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
76        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
77    };
78
79    let local_var_req = local_var_req_builder.build()?;
80    let local_var_resp = local_var_client.execute(local_var_req).await?;
81
82    let local_var_status = local_var_resp.status();
83    let local_var_content = local_var_resp.text().await?;
84
85    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
86        serde_json::from_str(&local_var_content).map_err(Error::from)
87    } else {
88        let local_var_entity: Option<OrganizationsOrganizationIdProjectsGetError> =
89            serde_json::from_str(&local_var_content).ok();
90        let local_var_error = ResponseContent {
91            status: local_var_status,
92            content: local_var_content,
93            entity: local_var_entity,
94        };
95        Err(Error::ResponseError(local_var_error))
96    }
97}
98
99pub async fn organizations_organization_id_projects_post(
100    configuration: &configuration::Configuration,
101    organization_id: uuid::Uuid,
102    project_create_request_model: Option<models::ProjectCreateRequestModel>,
103) -> Result<models::ProjectResponseModel, Error<OrganizationsOrganizationIdProjectsPostError>> {
104    let local_var_configuration = configuration;
105
106    let local_var_client = &local_var_configuration.client;
107
108    let local_var_uri_str = format!(
109        "{}/organizations/{organizationId}/projects",
110        local_var_configuration.base_path,
111        organizationId = crate::apis::urlencode(organization_id.to_string())
112    );
113    let mut local_var_req_builder =
114        local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
115
116    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
117        local_var_req_builder =
118            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
119    }
120    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
121        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
122    };
123    local_var_req_builder = local_var_req_builder.json(&project_create_request_model);
124
125    let local_var_req = local_var_req_builder.build()?;
126    let local_var_resp = local_var_client.execute(local_var_req).await?;
127
128    let local_var_status = local_var_resp.status();
129    let local_var_content = local_var_resp.text().await?;
130
131    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
132        serde_json::from_str(&local_var_content).map_err(Error::from)
133    } else {
134        let local_var_entity: Option<OrganizationsOrganizationIdProjectsPostError> =
135            serde_json::from_str(&local_var_content).ok();
136        let local_var_error = ResponseContent {
137            status: local_var_status,
138            content: local_var_content,
139            entity: local_var_entity,
140        };
141        Err(Error::ResponseError(local_var_error))
142    }
143}
144
145pub async fn projects_delete_post(
146    configuration: &configuration::Configuration,
147    uuid_colon_colon_uuid: Option<Vec<uuid::Uuid>>,
148) -> Result<models::BulkDeleteResponseModelListResponseModel, Error<ProjectsDeletePostError>> {
149    let local_var_configuration = configuration;
150
151    let local_var_client = &local_var_configuration.client;
152
153    let local_var_uri_str = format!("{}/projects/delete", local_var_configuration.base_path);
154    let mut local_var_req_builder =
155        local_var_client.request(reqwest::Method::POST, local_var_uri_str.as_str());
156
157    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
158        local_var_req_builder =
159            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
160    }
161    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
162        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
163    };
164    local_var_req_builder = local_var_req_builder.json(&uuid_colon_colon_uuid);
165
166    let local_var_req = local_var_req_builder.build()?;
167    let local_var_resp = local_var_client.execute(local_var_req).await?;
168
169    let local_var_status = local_var_resp.status();
170    let local_var_content = local_var_resp.text().await?;
171
172    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
173        serde_json::from_str(&local_var_content).map_err(Error::from)
174    } else {
175        let local_var_entity: Option<ProjectsDeletePostError> =
176            serde_json::from_str(&local_var_content).ok();
177        let local_var_error = ResponseContent {
178            status: local_var_status,
179            content: local_var_content,
180            entity: local_var_entity,
181        };
182        Err(Error::ResponseError(local_var_error))
183    }
184}
185
186pub async fn projects_id_get(
187    configuration: &configuration::Configuration,
188    id: uuid::Uuid,
189) -> Result<models::ProjectResponseModel, Error<ProjectsIdGetError>> {
190    let local_var_configuration = configuration;
191
192    let local_var_client = &local_var_configuration.client;
193
194    let local_var_uri_str = format!(
195        "{}/projects/{id}",
196        local_var_configuration.base_path,
197        id = crate::apis::urlencode(id.to_string())
198    );
199    let mut local_var_req_builder =
200        local_var_client.request(reqwest::Method::GET, local_var_uri_str.as_str());
201
202    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
203        local_var_req_builder =
204            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
205    }
206    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
207        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
208    };
209
210    let local_var_req = local_var_req_builder.build()?;
211    let local_var_resp = local_var_client.execute(local_var_req).await?;
212
213    let local_var_status = local_var_resp.status();
214    let local_var_content = local_var_resp.text().await?;
215
216    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
217        serde_json::from_str(&local_var_content).map_err(Error::from)
218    } else {
219        let local_var_entity: Option<ProjectsIdGetError> =
220            serde_json::from_str(&local_var_content).ok();
221        let local_var_error = ResponseContent {
222            status: local_var_status,
223            content: local_var_content,
224            entity: local_var_entity,
225        };
226        Err(Error::ResponseError(local_var_error))
227    }
228}
229
230pub async fn projects_id_put(
231    configuration: &configuration::Configuration,
232    id: uuid::Uuid,
233    project_update_request_model: Option<models::ProjectUpdateRequestModel>,
234) -> Result<models::ProjectResponseModel, Error<ProjectsIdPutError>> {
235    let local_var_configuration = configuration;
236
237    let local_var_client = &local_var_configuration.client;
238
239    let local_var_uri_str = format!(
240        "{}/projects/{id}",
241        local_var_configuration.base_path,
242        id = crate::apis::urlencode(id.to_string())
243    );
244    let mut local_var_req_builder =
245        local_var_client.request(reqwest::Method::PUT, local_var_uri_str.as_str());
246
247    if let Some(ref local_var_user_agent) = local_var_configuration.user_agent {
248        local_var_req_builder =
249            local_var_req_builder.header(reqwest::header::USER_AGENT, local_var_user_agent.clone());
250    }
251    if let Some(ref local_var_token) = local_var_configuration.oauth_access_token {
252        local_var_req_builder = local_var_req_builder.bearer_auth(local_var_token.to_owned());
253    };
254    local_var_req_builder = local_var_req_builder.json(&project_update_request_model);
255
256    let local_var_req = local_var_req_builder.build()?;
257    let local_var_resp = local_var_client.execute(local_var_req).await?;
258
259    let local_var_status = local_var_resp.status();
260    let local_var_content = local_var_resp.text().await?;
261
262    if !local_var_status.is_client_error() && !local_var_status.is_server_error() {
263        serde_json::from_str(&local_var_content).map_err(Error::from)
264    } else {
265        let local_var_entity: Option<ProjectsIdPutError> =
266            serde_json::from_str(&local_var_content).ok();
267        let local_var_error = ResponseContent {
268            status: local_var_status,
269            content: local_var_content,
270            entity: local_var_entity,
271        };
272        Err(Error::ResponseError(local_var_error))
273    }
274}