Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04eaa1dff1
|
||
|
|
179a550034 | ||
|
|
a8e173d831 |
+41
-1
@@ -19,11 +19,51 @@ pub struct User {
|
|||||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
pub struct ServiceUser {
|
pub struct ServiceUser {
|
||||||
pub id: uuid::Uuid,
|
pub id: uuid::Uuid,
|
||||||
// TODO: Remove the omitempty tags at a later point
|
|
||||||
pub username: String,
|
pub username: String,
|
||||||
pub passphrase: String,
|
pub passphrase: String,
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
pub created: Option<time::OffsetDateTime>,
|
pub created: Option<time::OffsetDateTime>,
|
||||||
// When serializing to json, if empty do not populate
|
// When serializing to json, if empty do not populate
|
||||||
#[serde(with = "time::serde::rfc3339::option")]
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
pub last_login: Option<time::OffsetDateTime>,
|
pub last_login: Option<time::OffsetDateTime>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct UserLoginHistory {
|
||||||
|
pub id: uuid::Uuid,
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
|
pub login_time: Option<time::OffsetDateTime>,
|
||||||
|
pub user_id: uuid::Uuid,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct ServiceUserLoginHistory {
|
||||||
|
pub id: uuid::Uuid,
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
|
pub login_time: Option<time::OffsetDateTime>,
|
||||||
|
pub service_user_id: uuid::Uuid,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct UserProfile {
|
||||||
|
pub user_id: uuid::Uuid,
|
||||||
|
pub phone_number: String,
|
||||||
|
pub username: String,
|
||||||
|
pub firstname: String,
|
||||||
|
pub lastname: String,
|
||||||
|
pub created: Option<time::OffsetDateTime>,
|
||||||
|
pub last_login: Option<time::OffsetDateTime>,
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn init_user_profile(usr: &User) -> UserProfile {
|
||||||
|
let mut usrProfile = UserProfile::default();
|
||||||
|
usrProfile.user_id = usr.id.clone();
|
||||||
|
usrProfile.phone_number = usr.phone_number.clone();
|
||||||
|
usrProfile.username = usr.username.clone();
|
||||||
|
usrProfile.firstname = usr.firstname.clone();
|
||||||
|
usrProfile.lastname = usr.lastname.clone();
|
||||||
|
usrProfile.created = usr.created.clone();
|
||||||
|
usrProfile.last_login = usr.last_login.clone();
|
||||||
|
|
||||||
|
return usrProfile;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user