Compare commits
10
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e31f27dff
|
||
|
|
f91069cded
|
||
|
|
8de38f204e
|
||
|
|
04eaa1dff1
|
||
|
|
179a550034 | ||
|
|
a8e173d831 | ||
|
|
6975475330 | ||
|
|
b28d26e26b | ||
|
|
c85ca95016 | ||
|
|
cfd5050f98 |
+1
-1
@@ -1 +1 @@
|
|||||||
/vendor/
|
target/
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
pub struct TwilioConfig {
|
pub struct TwilioConfig {
|
||||||
// #[serde(skip_serializing_if = "init::is_uuid_nil")]
|
|
||||||
#[serde(alias = "auth_id")]
|
#[serde(alias = "auth_id")]
|
||||||
pub account_sid: uuid::Uuid,
|
pub account_sid: uuid::Uuid,
|
||||||
#[serde(skip_serializing_if = "String::is_empty")]
|
#[serde(skip_serializing_if = "String::is_empty")]
|
||||||
@@ -16,11 +14,10 @@ pub struct TwilioConfig {
|
|||||||
|
|
||||||
impl TwilioConfig {
|
impl TwilioConfig {
|
||||||
pub fn print_config(&self) {
|
pub fn print_config(&self) {
|
||||||
println!("Twilio config");
|
println!("Twilio config");
|
||||||
println!("Account SID: {:?}", self.account_sid);
|
println!("Account SID: {:?}", self.account_sid);
|
||||||
println!("Service SID: {:?}", self.service_sid);
|
println!("Service SID: {:?}", self.service_sid);
|
||||||
println!("Auth Token: {:?}", self.auth_token);
|
println!("Auth Token: {:?}", self.auth_token);
|
||||||
println!("Number: {:?}", self.phone_number);
|
println!("Number: {:?}", self.phone_number);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct Contact {
|
||||||
|
pub id: uuid::Uuid,
|
||||||
|
// empty?
|
||||||
|
pub firstname: String,
|
||||||
|
// empty?
|
||||||
|
pub lastname: String,
|
||||||
|
// empty?
|
||||||
|
pub nickname: String,
|
||||||
|
pub phone_number: String,
|
||||||
|
// empty
|
||||||
|
pub user_id: uuid::Uuid,
|
||||||
|
}
|
||||||
@@ -1 +1,4 @@
|
|||||||
pub mod config;
|
pub mod config;
|
||||||
|
pub mod contact;
|
||||||
|
pub mod token;
|
||||||
|
pub mod user;
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct Claims {
|
||||||
|
pub user_id: uuid::Uuid,
|
||||||
|
pub role: String,
|
||||||
|
#[serde(alias = "iss")]
|
||||||
|
pub issued: String,
|
||||||
|
#[serde(alias = "exp")]
|
||||||
|
pub expired: i64,
|
||||||
|
#[serde(alias = "iat")]
|
||||||
|
pub issued_at: i64,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct LoginResult {
|
||||||
|
pub user_id: uuid::Uuid,
|
||||||
|
pub access_token: String,
|
||||||
|
pub token_type: String,
|
||||||
|
pub expires_in: i64,
|
||||||
|
pub issued_at: i64,
|
||||||
|
}
|
||||||
|
|
||||||
|
// Alias for LoginResult
|
||||||
|
pub type Login = LoginResult;
|
||||||
@@ -0,0 +1,70 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct User {
|
||||||
|
pub id: uuid::Uuid,
|
||||||
|
pub phone_number: String,
|
||||||
|
pub username: String,
|
||||||
|
pub password: String,
|
||||||
|
// Firstname is a pointer
|
||||||
|
pub firstname: String,
|
||||||
|
// Lastname is a pointer
|
||||||
|
pub lastname: String,
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
|
pub created: Option<time::OffsetDateTime>,
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
|
pub last_login: Option<time::OffsetDateTime>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
||||||
|
pub struct ServiceUser {
|
||||||
|
pub id: uuid::Uuid,
|
||||||
|
pub username: String,
|
||||||
|
pub passphrase: String,
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
|
pub created: Option<time::OffsetDateTime>,
|
||||||
|
// When serializing to json, if empty do not populate
|
||||||
|
#[serde(with = "time::serde::rfc3339::option")]
|
||||||
|
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 usr_profile = UserProfile {
|
||||||
|
user_id: usr.id,
|
||||||
|
phone_number: usr.phone_number.clone(),
|
||||||
|
username: usr.username.clone(),
|
||||||
|
firstname: usr.firstname.clone(),
|
||||||
|
lastname: usr.lastname.clone(),
|
||||||
|
created: usr.created,
|
||||||
|
last_login: usr.last_login,
|
||||||
|
};
|
||||||
|
|
||||||
|
usr_profile
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user