bitwarden_sm/
client_projects.rs

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