fix: search improvements (#5473)

* fix: search workspace sync indexing

* chore: update collab rev temporarily

* feat: revert comparison and implement index check

* chore: fixes after merg

* feat: clean code + support delete workspace

* fix: improve code

* fix: improvements after merge

* fix: cargo fmt

* fix: remove indices for workspace method

* fix: clippy errors

* fix: clippy too many arguments
This commit is contained in:
Mathias Mogensen
2024-06-05 13:44:32 +02:00
committed by GitHub
parent 6e7d044208
commit bd7977d8ba
16 changed files with 240 additions and 124 deletions

View File

@ -33,28 +33,21 @@ pub struct FolderDepsResolver();
impl FolderDepsResolver {
pub async fn resolve(
authenticate_user: Weak<AuthenticateUser>,
document_manager: &Arc<DocumentManager>,
database_manager: &Arc<DatabaseManager>,
collab_builder: Arc<AppFlowyCollabBuilder>,
server_provider: Arc<ServerProvider>,
folder_indexer: Arc<FolderIndexManagerImpl>,
store_preferences: Arc<StorePreferences>,
chat_manager: &Arc<ChatManager>,
operation_handlers: FolderOperationHandlers,
) -> Arc<FolderManager> {
let user: Arc<dyn FolderUser> = Arc::new(FolderUserImpl {
authenticate_user: authenticate_user.clone(),
});
let handlers = folder_operation_handlers(
document_manager.clone(),
database_manager.clone(),
chat_manager.clone(),
);
Arc::new(
FolderManager::new(
user.clone(),
collab_builder,
handlers,
operation_handlers,
server_provider.clone(),
folder_indexer,
store_preferences,
@ -64,7 +57,7 @@ impl FolderDepsResolver {
}
}
fn folder_operation_handlers(
pub fn folder_operation_handlers(
document_manager: Arc<DocumentManager>,
database_manager: Arc<DatabaseManager>,
chat_manager: Arc<ChatManager>,

View File

@ -59,4 +59,12 @@ impl UserWorkspaceService for UserWorkspaceServiceImpl {
.await?;
Ok(())
}
fn did_delete_workspace(&self, workspace_id: String) -> FlowyResult<()> {
self
.folder_manager
.remove_indices_for_workspace(workspace_id)?;
Ok(())
}
}

View File

@ -173,15 +173,20 @@ impl AppFlowyCore {
let folder_indexer = Arc::new(FolderIndexManagerImpl::new(Some(Arc::downgrade(
&authenticate_user,
))));
let folder_operation_handlers = folder_operation_handlers(
document_manager.clone(),
database_manager.clone(),
chat_manager.clone(),
);
let folder_manager = FolderDepsResolver::resolve(
Arc::downgrade(&authenticate_user),
&document_manager,
&database_manager,
collab_builder.clone(),
server_provider.clone(),
folder_indexer.clone(),
store_preference.clone(),
&chat_manager,
folder_operation_handlers,
)
.await;