module.rs 1.0 KB

12345678910111213141516171819202122232425
  1. use crate::deps_resolve::DocumentDepsResolver;
  2. use backend_service::configuration::ClientServerConfiguration;
  3. use flowy_core::prelude::CoreContext;
  4. use flowy_document::module::FlowyDocument;
  5. use flowy_user::services::user::UserSession;
  6. use lib_dispatch::prelude::Module;
  7. use std::sync::Arc;
  8. pub fn mk_modules(core: Arc<CoreContext>, user_session: Arc<UserSession>) -> Vec<Module> {
  9. let user_module = mk_user_module(user_session);
  10. let workspace_module = mk_core_module(core);
  11. vec![user_module, workspace_module]
  12. }
  13. fn mk_user_module(user_session: Arc<UserSession>) -> Module { flowy_user::module::create(user_session) }
  14. fn mk_core_module(core: Arc<CoreContext>) -> Module { flowy_core::module::create(core) }
  15. pub fn mk_document_module(
  16. user_session: Arc<UserSession>,
  17. server_config: &ClientServerConfiguration,
  18. ) -> Arc<FlowyDocument> {
  19. let document_deps = DocumentDepsResolver::new(user_session);
  20. let (user, ws_manager) = document_deps.split_into();
  21. Arc::new(FlowyDocument::new(user, ws_manager, server_config))
  22. }