summaryrefslogtreecommitdiffstats
path: root/src/server/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/models.rs')
-rw-r--r--src/server/models.rs49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/server/models.rs b/src/server/models.rs
new file mode 100644
index 00000000..fbf1897e
--- /dev/null
+++ b/src/server/models.rs
@@ -0,0 +1,49 @@
+use chrono::prelude::*;
+
+#[derive(sqlx::FromRow)]
+pub struct History {
+ pub id: i64,
+ pub client_id: String, // a client generated ID
+ pub user_id: i64,
+ pub hostname: String,
+ pub timestamp: NaiveDateTime,
+
+ pub data: String,
+
+ pub created_at: NaiveDateTime,
+}
+
+pub struct NewHistory<'a> {
+ pub client_id: &'a str,
+ pub user_id: i64,
+ pub hostname: &'a str,
+ pub timestamp: chrono::NaiveDateTime,
+
+ pub data: &'a str,
+}
+
+#[derive(sqlx::FromRow)]
+pub struct User {
+ pub id: i64,
+ pub username: String,
+ pub email: String,
+ pub password: String,
+}
+
+#[derive(sqlx::FromRow)]
+pub struct Session {
+ pub id: i64,
+ pub user_id: i64,
+ pub token: String,
+}
+
+pub struct NewUser {
+ pub username: String,
+ pub email: String,
+ pub password: String,
+}
+
+pub struct NewSession<'a> {
+ pub user_id: i64,
+ pub token: &'a str,
+}