sign_in.rs 978 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. use crate::{entities::parser::*, errors::*};
  2. use flowy_derive::ProtoBuf;
  3. use std::convert::TryInto;
  4. #[derive(ProtoBuf, Default)]
  5. pub struct SignInRequest {
  6. #[pb(index = 1)]
  7. pub email: String,
  8. #[pb(index = 2)]
  9. pub password: String,
  10. }
  11. #[derive(Default, ProtoBuf)]
  12. pub struct SignInParams {
  13. #[pb(index = 1)]
  14. pub email: String,
  15. #[pb(index = 2)]
  16. pub password: String,
  17. }
  18. impl TryInto<SignInParams> for SignInRequest {
  19. type Error = UserError;
  20. fn try_into(self) -> Result<SignInParams, Self::Error> {
  21. let email = UserEmail::parse(self.email)
  22. .map_err(|e| ErrorBuilder::new(UserErrCode::EmailInvalid).msg(e).build())?;
  23. let password = UserPassword::parse(self.password).map_err(|e| {
  24. ErrorBuilder::new(UserErrCode::PasswordInvalid)
  25. .msg(e)
  26. .build()
  27. })?;
  28. Ok(SignInParams {
  29. email: email.0,
  30. password: password.0,
  31. })
  32. }
  33. }