docbox_core/folders/
index_folder.rs1use super::create_folder::CreateFolderError;
2use docbox_database::models::folder::{Folder, FolderId};
3use docbox_search::{
4 TenantSearchIndex,
5 models::{SearchIndexData, SearchIndexType},
6};
7
8pub async fn store_folder_index(
9 search: &TenantSearchIndex,
10 folder: &Folder,
11 folder_id: FolderId,
12) -> Result<(), CreateFolderError> {
13 let index = SearchIndexData {
14 ty: SearchIndexType::Folder,
15 item_id: folder.id,
16 folder_id,
17 name: folder.name.to_string(),
18 mime: None,
19 content: None,
20 pages: None,
21 created_at: folder.created_at,
22 created_by: folder.created_by.clone(),
23 document_box: folder.document_box.clone(),
24 };
25
26 search
28 .add_data(vec![index])
29 .await
30 .map_err(CreateFolderError::CreateIndex)?;
31
32 Ok(())
33}