bitwarden_uniffi/vault/
folders.rs1use bitwarden_vault::{Folder, FolderAddEditRequest, FolderId, FolderView};
2
3use crate::Result;
4
5#[allow(missing_docs)]
6#[derive(uniffi::Object)]
7pub struct FoldersClient(pub(crate) bitwarden_vault::FoldersClient);
8
9#[uniffi::export(async_runtime = "tokio")]
10impl FoldersClient {
11 pub fn encrypt(&self, folder: FolderView) -> Result<Folder> {
13 #[allow(deprecated)]
14 Ok(self.0.encrypt(folder)?)
15 }
16
17 pub fn decrypt(&self, folder: Folder) -> Result<FolderView> {
19 #[allow(deprecated)]
20 Ok(self.0.decrypt(folder)?)
21 }
22
23 pub fn decrypt_list(&self, folders: Vec<Folder>) -> Result<Vec<FolderView>> {
25 #[allow(deprecated)]
26 Ok(self.0.decrypt_list(folders)?)
27 }
28
29 pub async fn create(&self, request: FolderAddEditRequest) -> Result<FolderView> {
31 Ok(self.0.create(request).await?)
32 }
33
34 pub async fn edit(
36 &self,
37 folder_id: FolderId,
38 request: FolderAddEditRequest,
39 ) -> Result<FolderView> {
40 Ok(self.0.edit(folder_id, request).await?)
41 }
42
43 pub async fn get(&self, folder_id: FolderId) -> Result<FolderView> {
45 Ok(self.0.get(folder_id).await?)
46 }
47
48 pub async fn list(&self) -> Result<Vec<FolderView>> {
50 Ok(self.0.list().await?)
51 }
52}