aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/models.rs
diff options
context:
space:
mode:
authorEllie Huxtable <e@elm.sh>2021-04-20 17:07:11 +0100
committerGitHub <noreply@github.com>2021-04-20 16:07:11 +0000
commit34888827f8a06de835cbe5833a06914f28cce514 (patch)
tree8b56f20e50065cd2c222d5e8e067ec55cf1947a1 /src/server/models.rs
parentOptimise docker (#34) (diff)
downloadatuin-34888827f8a06de835cbe5833a06914f28cce514.zip
Switch to Warp + SQLx, use async, switch to Rust stable (#36)
* Switch to warp + sql, use async and stable rust * Update CI to use stable
Diffstat (limited to '')
-rw-r--r--src/server/models.rs (renamed from src/remote/models.rs)43
1 files changed, 16 insertions, 27 deletions
diff --git a/src/remote/models.rs b/src/server/models.rs
index 7f6f7766..fbf1897e 100644
--- a/src/remote/models.rs
+++ b/src/server/models.rs
@@ -1,10 +1,6 @@
use chrono::prelude::*;
-use crate::schema::{history, sessions, users};
-
-#[derive(Deserialize, Serialize, Identifiable, Queryable, Associations)]
-#[table_name = "history"]
-#[belongs_to(User)]
+#[derive(sqlx::FromRow)]
pub struct History {
pub id: i64,
pub client_id: String, // a client generated ID
@@ -17,7 +13,16 @@ pub struct History {
pub created_at: NaiveDateTime,
}
-#[derive(Identifiable, Queryable, Associations)]
+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,
@@ -25,35 +30,19 @@ pub struct User {
pub password: String,
}
-#[derive(Queryable, Identifiable, Associations)]
-#[belongs_to(User)]
+#[derive(sqlx::FromRow)]
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 hostname: String,
- pub timestamp: chrono::NaiveDateTime,
-
- pub data: &'a str,
-}
-
-#[derive(Insertable)]
-#[table_name = "users"]
-pub struct NewUser<'a> {
- pub username: &'a str,
- pub email: &'a str,
- pub password: &'a str,
+pub struct NewUser {
+ pub username: String,
+ pub email: String,
+ pub password: String,
}
-#[derive(Insertable)]
-#[table_name = "sessions"]
pub struct NewSession<'a> {
pub user_id: i64,
pub token: &'a str,