aboutsummaryrefslogtreecommitdiffstats
path: root/crates/turtle/src/atuin_server/database/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/turtle/src/atuin_server/database/models.rs')
-rw-r--r--crates/turtle/src/atuin_server/database/models.rs52
1 files changed, 52 insertions, 0 deletions
diff --git a/crates/turtle/src/atuin_server/database/models.rs b/crates/turtle/src/atuin_server/database/models.rs
new file mode 100644
index 00000000..e47d614d
--- /dev/null
+++ b/crates/turtle/src/atuin_server/database/models.rs
@@ -0,0 +1,52 @@
+use time::OffsetDateTime;
+
+pub(crate) struct History {
+ pub(crate) id: i64,
+ pub(crate) client_id: String, // a client generated ID
+ pub(crate) user_id: i64,
+ pub(crate) hostname: String,
+ pub(crate) 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(crate) data: String,
+
+ pub(crate) created_at: OffsetDateTime,
+}
+
+pub(crate) struct NewHistory {
+ pub(crate) client_id: String,
+ pub(crate) user_id: i64,
+ pub(crate) hostname: String,
+ pub(crate) 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(crate) data: String,
+}
+
+pub(crate) struct User {
+ pub(crate) id: i64,
+ pub(crate) username: String,
+ pub(crate) email: String,
+ pub(crate) password: String,
+}
+
+pub(crate) struct Session {
+ pub(crate) id: i64,
+ pub(crate) user_id: i64,
+ pub(crate) token: String,
+}
+
+pub(crate) struct NewUser {
+ pub(crate) username: String,
+ pub(crate) email: String,
+ pub(crate) password: String,
+}
+
+pub(crate) struct NewSession {
+ pub(crate) user_id: i64,
+ pub(crate) token: String,
+}