Skip to main content

bitwarden_sm/
client_projects.rs

1use crate::{
2    SecretsManagerClient,
3    error::SecretsManagerError,
4    projects::{
5        ProjectCreateRequest, ProjectGetRequest, ProjectPutRequest, ProjectResponse,
6        ProjectsDeleteRequest, ProjectsDeleteResponse, ProjectsListRequest, ProjectsResponse,
7        create_project, delete_projects, get_project, list_projects, update_project,
8    },
9};
10
11#[allow(missing_docs)]
12pub struct ProjectsClient {
13    client: SecretsManagerClient,
14}
15
16impl ProjectsClient {
17    #[allow(missing_docs)]
18    pub fn new(client: SecretsManagerClient) -> Self {
19        Self { client }
20    }
21
22    #[allow(missing_docs)]
23    pub async fn get(
24        &self,
25        input: &ProjectGetRequest,
26    ) -> Result<ProjectResponse, SecretsManagerError> {
27        get_project(&self.client, input).await
28    }
29
30    #[allow(missing_docs)]
31    pub async fn create(
32        &self,
33        input: &ProjectCreateRequest,
34    ) -> Result<ProjectResponse, SecretsManagerError> {
35        create_project(&self.client, input).await
36    }
37
38    #[allow(missing_docs)]
39    pub async fn list(
40        &self,
41        input: &ProjectsListRequest,
42    ) -> Result<ProjectsResponse, SecretsManagerError> {
43        list_projects(&self.client, input).await
44    }
45
46    #[allow(missing_docs)]
47    pub async fn update(
48        &self,
49        input: &ProjectPutRequest,
50    ) -> Result<ProjectResponse, SecretsManagerError> {
51        update_project(&self.client, input).await
52    }
53
54    #[allow(missing_docs)]
55    pub async fn delete(
56        &self,
57        input: ProjectsDeleteRequest,
58    ) -> Result<ProjectsDeleteResponse, SecretsManagerError> {
59        delete_projects(&self.client, input).await
60    }
61}