auth_handler.rs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. use crate::entities::*;
  2. use crate::services::UserSession;
  3. use flowy_error::FlowyError;
  4. use lib_dispatch::prelude::*;
  5. use std::{convert::TryInto, sync::Arc};
  6. // tracing instrument 👉🏻 https://docs.rs/tracing/0.1.26/tracing/attr.instrument.html
  7. #[tracing::instrument(level = "debug", name = "sign_in", skip(data, session), fields(email = %data.email), err)]
  8. pub async fn sign_in(
  9. data: AFPluginData<SignInPayloadPB>,
  10. session: AFPluginState<Arc<UserSession>>,
  11. ) -> DataResult<UserProfilePB, FlowyError> {
  12. let params: SignInParams = data.into_inner().try_into()?;
  13. let user_profile = session.sign_in(params).await?;
  14. data_result(user_profile)
  15. }
  16. #[tracing::instrument(
  17. level = "debug",
  18. name = "sign_up",
  19. skip(data, session),
  20. fields(
  21. email = %data.email,
  22. name = %data.name,
  23. ),
  24. err
  25. )]
  26. pub async fn sign_up(
  27. data: AFPluginData<SignUpPayloadPB>,
  28. session: AFPluginState<Arc<UserSession>>,
  29. ) -> DataResult<UserProfilePB, FlowyError> {
  30. let params: SignUpParams = data.into_inner().try_into()?;
  31. let user_profile = session.sign_up(params).await?;
  32. data_result(user_profile)
  33. }