auth.rs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. use crate::entities::parser::{UserEmail, UserName, UserPassword};
  2. use crate::errors::ErrorCode;
  3. use flowy_derive::ProtoBuf;
  4. use std::convert::TryInto;
  5. #[derive(ProtoBuf, Default)]
  6. pub struct SignInPayload {
  7. #[pb(index = 1)]
  8. pub email: String,
  9. #[pb(index = 2)]
  10. pub password: String,
  11. #[pb(index = 3)]
  12. pub name: String,
  13. }
  14. #[derive(Default, ProtoBuf, Debug)]
  15. pub struct SignInParams {
  16. #[pb(index = 1)]
  17. pub email: String,
  18. #[pb(index = 2)]
  19. pub password: String,
  20. #[pb(index = 3)]
  21. pub name: String,
  22. }
  23. #[derive(Debug, Default, ProtoBuf, Clone)]
  24. pub struct SignInResponse {
  25. #[pb(index = 1)]
  26. pub user_id: String,
  27. #[pb(index = 2)]
  28. pub name: String,
  29. #[pb(index = 3)]
  30. pub email: String,
  31. #[pb(index = 4)]
  32. pub token: String,
  33. }
  34. impl TryInto<SignInParams> for SignInPayload {
  35. type Error = ErrorCode;
  36. fn try_into(self) -> Result<SignInParams, Self::Error> {
  37. let email = UserEmail::parse(self.email)?;
  38. let password = UserPassword::parse(self.password)?;
  39. Ok(SignInParams {
  40. email: email.0,
  41. password: password.0,
  42. name: self.name,
  43. })
  44. }
  45. }
  46. #[derive(ProtoBuf, Default)]
  47. pub struct SignUpPayload {
  48. #[pb(index = 1)]
  49. pub email: String,
  50. #[pb(index = 2)]
  51. pub name: String,
  52. #[pb(index = 3)]
  53. pub password: String,
  54. }
  55. impl TryInto<SignUpParams> for SignUpPayload {
  56. type Error = ErrorCode;
  57. fn try_into(self) -> Result<SignUpParams, Self::Error> {
  58. let email = UserEmail::parse(self.email)?;
  59. let password = UserPassword::parse(self.password)?;
  60. let name = UserName::parse(self.name)?;
  61. Ok(SignUpParams {
  62. email: email.0,
  63. name: name.0,
  64. password: password.0,
  65. })
  66. }
  67. }
  68. #[derive(ProtoBuf, Default, Debug)]
  69. pub struct SignUpParams {
  70. #[pb(index = 1)]
  71. pub email: String,
  72. #[pb(index = 2)]
  73. pub name: String,
  74. #[pb(index = 3)]
  75. pub password: String,
  76. }
  77. #[derive(ProtoBuf, Debug, Default, Clone)]
  78. pub struct SignUpResponse {
  79. #[pb(index = 1)]
  80. pub user_id: String,
  81. #[pb(index = 2)]
  82. pub name: String,
  83. #[pb(index = 3)]
  84. pub email: String,
  85. #[pb(index = 4)]
  86. pub token: String,
  87. }