module.rs 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. use crate::{errors::FlowyError, event::UserEvent, handlers::*, services::UserSession};
  2. use flowy_user_data_model::entities::{
  3. SignInParams,
  4. SignInResponse,
  5. SignUpParams,
  6. SignUpResponse,
  7. UpdateUserParams,
  8. UserProfile,
  9. };
  10. use lib_dispatch::prelude::*;
  11. use lib_infra::future::FutureResult;
  12. use std::sync::Arc;
  13. pub fn create(user_session: Arc<UserSession>) -> Module {
  14. Module::new()
  15. .name("Flowy-User")
  16. .data(user_session)
  17. .event(UserEvent::SignIn, sign_in)
  18. .event(UserEvent::SignUp, sign_up)
  19. .event(UserEvent::InitUser, init_user_handler)
  20. .event(UserEvent::GetUserProfile, get_user_profile_handler)
  21. .event(UserEvent::SignOut, sign_out)
  22. .event(UserEvent::UpdateUser, update_user_handler)
  23. .event(UserEvent::CheckUser, check_user_handler)
  24. }
  25. pub trait UserCloudService: Send + Sync {
  26. fn sign_up(&self, params: SignUpParams) -> FutureResult<SignUpResponse, FlowyError>;
  27. fn sign_in(&self, params: SignInParams) -> FutureResult<SignInResponse, FlowyError>;
  28. fn sign_out(&self, token: &str) -> FutureResult<(), FlowyError>;
  29. fn update_user(&self, token: &str, params: UpdateUserParams) -> FutureResult<(), FlowyError>;
  30. fn get_user(&self, token: &str) -> FutureResult<UserProfile, FlowyError>;
  31. fn ws_addr(&self) -> String;
  32. }