user_detail.rs 869 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. use flowy_derive::{ProtoBuf, ProtoBuf_Enum};
  2. #[derive(Debug, ProtoBuf_Enum)]
  3. pub enum UserStatus {
  4. Unknown = 0,
  5. Login = 1,
  6. Expired = 2,
  7. }
  8. impl std::default::Default for UserStatus {
  9. fn default() -> Self { UserStatus::Unknown }
  10. }
  11. #[derive(ProtoBuf, Default, Debug)]
  12. pub struct UserDetail {
  13. #[pb(index = 1)]
  14. pub id: String,
  15. #[pb(index = 2)]
  16. pub email: String,
  17. #[pb(index = 3)]
  18. pub name: String,
  19. #[pb(index = 4)]
  20. pub status: UserStatus,
  21. #[pb(index = 5)]
  22. pub workspace: String,
  23. }
  24. use crate::sql_tables::UserTable;
  25. impl std::convert::From<UserTable> for UserDetail {
  26. fn from(user: UserTable) -> Self {
  27. UserDetail {
  28. id: user.id,
  29. email: user.email,
  30. name: user.name,
  31. status: UserStatus::Login,
  32. workspace: user.workspace,
  33. }
  34. }
  35. }