mirror of
https://github.com/AppFlowy-IO/AppFlowy.git
synced 2024-08-30 18:12:39 +00:00
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:
@ -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>,
|
||||
|
@ -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(())
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
Reference in New Issue
Block a user