bitwarden_sm/
client_projects.rs1use 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}