diff options
Diffstat (limited to 'src/remote/models.rs')
| -rw-r--r-- | src/remote/models.rs | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/remote/models.rs b/src/remote/models.rs new file mode 100644 index 00000000..058b2f0b --- /dev/null +++ b/src/remote/models.rs @@ -0,0 +1,56 @@ +use chrono::naive::NaiveDateTime; + +use crate::schema::{history, sessions, users}; + +#[derive(Identifiable, Queryable, Associations)] +#[table_name = "history"] +#[belongs_to(User)] +pub struct History { + pub id: i64, + pub client_id: String, + pub user_id: i64, + pub mac: String, + pub timestamp: NaiveDateTime, + + pub data: String, +} + +#[derive(Identifiable, Queryable, Associations)] +pub struct User { + pub id: i64, + pub email: String, + pub password: String, +} + +#[derive(Queryable, Identifiable, Associations)] +#[belongs_to(User)] +pub struct Session { + pub id: i64, + pub user_id: i64, + pub token: String, +} + +#[derive(Insertable)] +#[table_name = "history"] +pub struct NewHistory<'a> { + pub client_id: &'a str, + pub user_id: i64, + pub mac: &'a str, + pub timestamp: NaiveDateTime, + + pub data: &'a str, +} + +#[derive(Insertable)] +#[table_name = "users"] +pub struct NewUser<'a> { + pub email: &'a str, + pub password: &'a str, +} + +#[derive(Insertable)] +#[table_name = "sessions"] +pub struct NewSession<'a> { + pub user_id: i64, + pub token: &'a str, +} |
