module.rs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. use std::sync::Weak;
  2. use flowy_database2::DatabaseManager;
  3. use flowy_document2::manager::DocumentManager as DocumentManager2;
  4. use flowy_folder2::manager::FolderManager;
  5. use flowy_user::manager::UserManager;
  6. use lib_dispatch::prelude::AFPlugin;
  7. pub fn make_plugins(
  8. folder_manager: Weak<FolderManager>,
  9. database_manager: Weak<DatabaseManager>,
  10. user_session: Weak<UserManager>,
  11. document_manager2: Weak<DocumentManager2>,
  12. ) -> Vec<AFPlugin> {
  13. let store_preferences = user_session
  14. .upgrade()
  15. .map(|session| session.get_store_preferences())
  16. .unwrap();
  17. let user_plugin = flowy_user::event_map::init(user_session);
  18. let folder_plugin = flowy_folder2::event_map::init(folder_manager);
  19. let network_plugin = flowy_net::event_map::init();
  20. let database_plugin = flowy_database2::event_map::init(database_manager);
  21. let document_plugin2 = flowy_document2::event_map::init(document_manager2);
  22. let config_plugin = flowy_config::event_map::init(store_preferences);
  23. vec![
  24. user_plugin,
  25. folder_plugin,
  26. network_plugin,
  27. database_plugin,
  28. document_plugin2,
  29. config_plugin,
  30. ]
  31. }