2021-07-11 15:33:19 +08:00
|
|
|
use flowy_derive::{ProtoBuf, ProtoBuf_Enum};
|
|
|
|
|
|
|
|
#[derive(Debug, ProtoBuf_Enum)]
|
|
|
|
pub enum UserStatus {
|
|
|
|
Unknown = 0,
|
|
|
|
Login = 1,
|
|
|
|
Expired = 2,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl std::default::Default for UserStatus {
|
|
|
|
fn default() -> Self { UserStatus::Unknown }
|
|
|
|
}
|
|
|
|
|
|
|
|
#[derive(ProtoBuf, Default, Debug)]
|
|
|
|
pub struct UserDetail {
|
|
|
|
#[pb(index = 1)]
|
2021-07-14 21:12:52 +08:00
|
|
|
pub id: String,
|
2021-07-11 15:33:19 +08:00
|
|
|
|
|
|
|
#[pb(index = 2)]
|
2021-07-14 21:12:52 +08:00
|
|
|
pub email: String,
|
2021-07-11 15:33:19 +08:00
|
|
|
|
|
|
|
#[pb(index = 3)]
|
2021-07-14 21:12:52 +08:00
|
|
|
pub name: String,
|
|
|
|
|
|
|
|
#[pb(index = 4)]
|
2021-07-11 15:33:19 +08:00
|
|
|
pub status: UserStatus,
|
2021-07-14 21:12:52 +08:00
|
|
|
|
|
|
|
#[pb(index = 5)]
|
|
|
|
pub workspace: String,
|
2021-07-11 15:33:19 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
use crate::sql_tables::User;
|
|
|
|
impl std::convert::From<User> for UserDetail {
|
|
|
|
fn from(user: User) -> Self {
|
|
|
|
UserDetail {
|
2021-07-14 21:12:52 +08:00
|
|
|
id: user.id,
|
2021-07-11 15:33:19 +08:00
|
|
|
email: user.email,
|
|
|
|
name: user.name,
|
|
|
|
status: UserStatus::Login,
|
2021-07-14 21:12:52 +08:00
|
|
|
workspace: user.workspace,
|
2021-07-11 15:33:19 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|