summaryrefslogtreecommitdiffstats
path: root/crates/atuin-server-database/src/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/atuin-server-database/src/models.rs')
-rw-r--r--crates/atuin-server-database/src/models.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/crates/atuin-server-database/src/models.rs b/crates/atuin-server-database/src/models.rs
new file mode 100644
index 00000000..b71a9bc9
--- /dev/null
+++ b/crates/atuin-server-database/src/models.rs
@@ -0,0 +1,52 @@
+use time::OffsetDateTime;
+
+pub struct History {
+ pub id: i64,
+ pub client_id: String, // a client generated ID
+ pub user_id: i64,
+ pub hostname: String,
+ pub timestamp: OffsetDateTime,
+
+ /// All the data we have about this command, encrypted.
+ ///
+ /// Currently this is an encrypted msgpack object, but this may change in the future.
+ pub data: String,
+
+ pub created_at: OffsetDateTime,
+}
+
+pub struct NewHistory {
+ pub client_id: String,
+ pub user_id: i64,
+ pub hostname: String,
+ pub timestamp: OffsetDateTime,
+
+ /// All the data we have about this command, encrypted.
+ ///
+ /// Currently this is an encrypted msgpack object, but this may change in the future.
+ pub data: String,
+}
+
+pub struct User {
+ pub id: i64,
+ pub username: String,
+ pub email: String,
+ pub password: String,
+}
+
+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 {
+ pub user_id: i64,
+ pub token: String,
+}