Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
29d18546a2
|
||
|
|
eda3112463
|
||
|
|
078f270e50
|
||
|
|
dd8bd3eff9
|
||
|
|
69cb67dbeb
|
||
|
|
c9d3f2914d
|
||
|
|
180780f46b
|
@@ -2,6 +2,7 @@ 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")]
|
||||||
|
|||||||
@@ -1,5 +1,2 @@
|
|||||||
pub mod config;
|
pub mod config;
|
||||||
pub mod contact;
|
pub mod contact;
|
||||||
pub mod message;
|
|
||||||
pub mod token;
|
|
||||||
pub mod user;
|
|
||||||
|
|||||||
@@ -1,16 +0,0 @@
|
|||||||
use serde::{Deserialize, Serialize};
|
|
||||||
|
|
||||||
|
|
||||||
pub struct MessageEventResponse {
|
|
||||||
pub id: uuid::Uuid,
|
|
||||||
pub scheduledMessageEventId: uuid::Uuid,
|
|
||||||
// Json field
|
|
||||||
pub response: String,
|
|
||||||
pub userId: uuid::Uuid,
|
|
||||||
pub contact_id: uuid::Uuid,
|
|
||||||
pub message_id: uuid::Uuid,
|
|
||||||
pub status: string,
|
|
||||||
#[serde(with = "time::serde::rfc3339::option")]
|
|
||||||
pub sent: Option<time::OffsetDateTime>,
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
pub mod event;
|
|
||||||
|
|
||||||
use serde::{Deserialize, Serialize};
|
|
||||||
|
|
||||||
#[derive(Clone, Debug, Default, Deserialize, Serialize)]
|
|
||||||
pub struct Message {
|
|
||||||
pub id: uuid::Uuid,
|
|
||||||
pub content: String,
|
|
||||||
pub user_id: uuid::Uuid,
|
|
||||||
}
|
|
||||||
@@ -1,25 +0,0 @@
|
|||||||
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;
|
|
||||||
-102
@@ -1,102 +0,0 @@
|
|||||||
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 Organization {
|
|
||||||
pub id: uuid::Uuid,
|
|
||||||
pub name: String,
|
|
||||||
#[serde(with = "time::serde::rfc3339::option")]
|
|
||||||
pub created: 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,
|
|
||||||
#[serde(with = "time::serde::rfc3339::option")]
|
|
||||||
pub created: Option<time::OffsetDateTime>,
|
|
||||||
#[serde(with = "time::serde::rfc3339::option")]
|
|
||||||
pub last_login: Option<time::OffsetDateTime>,
|
|
||||||
}
|
|
||||||
|
|
||||||
pub fn init_user_profile(usr: &User) -> UserProfile {
|
|
||||||
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,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[cfg(test)]
|
|
||||||
mod tests {
|
|
||||||
#[test]
|
|
||||||
fn test_init_user_profile() {
|
|
||||||
let usr = super::User {
|
|
||||||
id: uuid::Uuid::new_v4(),
|
|
||||||
phone_number: String::from("+12308438462"),
|
|
||||||
username: String::from("Cowboy99"),
|
|
||||||
password: String::from("238n7cyr2q89d3xhe2"),
|
|
||||||
firstname: String::from("BillyBob"),
|
|
||||||
lastname: String::from("Jones"),
|
|
||||||
created: Some(time::OffsetDateTime::now_utc()),
|
|
||||||
last_login: Some(time::OffsetDateTime::now_utc()),
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
|
|
||||||
let profile = super::init_user_profile(&usr);
|
|
||||||
assert_eq!(
|
|
||||||
usr.phone_number, profile.phone_number,
|
|
||||||
"Phone numbers are not equal"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user