module.rs 922 B

12345678910111213141516171819202122232425262728
  1. use flowy_folder::controller::FolderManager;
  2. use flowy_net::ws::connection::FlowyWebSocketConnect;
  3. use flowy_user::services::UserSession;
  4. use lib_dispatch::prelude::Module;
  5. use std::sync::Arc;
  6. pub fn mk_modules(
  7. ws_conn: &Arc<FlowyWebSocketConnect>,
  8. folder_manager: &Arc<FolderManager>,
  9. user_session: &Arc<UserSession>,
  10. ) -> Vec<Module> {
  11. let user_module = mk_user_module(user_session.clone());
  12. let folder_module = mk_folder_module(folder_manager.clone());
  13. let network_module = mk_network_module(ws_conn.clone());
  14. vec![user_module, folder_module, network_module]
  15. }
  16. fn mk_user_module(user_session: Arc<UserSession>) -> Module {
  17. flowy_user::event_map::create(user_session)
  18. }
  19. fn mk_folder_module(core: Arc<FolderManager>) -> Module {
  20. flowy_folder::event_map::create(core)
  21. }
  22. fn mk_network_module(ws_conn: Arc<FlowyWebSocketConnect>) -> Module {
  23. flowy_net::module::create(ws_conn)
  24. }