auth.rs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. use crate::{domain::user::*, services::user_session::UserSession};
  2. use flowy_dispatch::prelude::*;
  3. use std::{convert::TryInto, sync::Arc};
  4. // tracing instrument 👉🏻 https://docs.rs/tracing/0.1.26/tracing/attr.instrument.html
  5. #[tracing::instrument(
  6. name = "user_sign_in",
  7. skip(data),
  8. fields(
  9. email = %data.email,
  10. )
  11. )]
  12. pub async fn user_sign_in(data: Data<SignInRequest>) -> ResponseResult<SignInResponse, String> {
  13. let _params: SignInParams = data.into_inner().try_into()?;
  14. // TODO: user sign in
  15. let response = SignInResponse::new(true);
  16. response_ok(response)
  17. }
  18. #[tracing::instrument(
  19. name = "user_sign_up",
  20. skip(data, session),
  21. fields(
  22. email = %data.email,
  23. name = %data.name,
  24. )
  25. )]
  26. pub async fn user_sign_up(
  27. data: Data<SignUpRequest>,
  28. session: ModuleData<Arc<UserSession>>,
  29. ) -> ResponseResult<SignUpResponse, String> {
  30. let params: SignUpParams = data.into_inner().try_into()?;
  31. // TODO: user sign up
  32. let _user = session.sign_up(params)?;
  33. let fake_resp = SignUpResponse::new(true);
  34. response_ok(fake_resp)
  35. }