docbox_core/folders/
index_folder.rs

1use 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    // Add folder to search index
14    search
15        .add_data(SearchIndexData {
16            ty: SearchIndexType::Folder,
17            item_id: folder.id,
18            folder_id,
19            name: folder.name.to_string(),
20            mime: None,
21            content: None,
22            pages: None,
23            created_at: folder.created_at,
24            created_by: folder.created_by.clone(),
25            document_box: folder.document_box.clone(),
26        })
27        .await
28        .map_err(CreateFolderError::CreateIndex)?;
29
30    Ok(())
31}