atuin/atuin-server-database/src/models.rs
Vlad Stepanov 4077c33adf
Builder interface for History objects (#933)
* [feature] store env variables in History records

WIP: remove `HistoryWithoutDelete`, add some docstrings, tests

* Create History objects through builders.

Assure in compile-time that all required fields
are set for the given construction scenario

* (from #882) split Cmd::run into subfns

* Update `History` doc

* remove rmp-serde from history

* update warning

---------

Co-authored-by: Conrad Ludgate <conrad.ludgate@truelayer.com>
2023-06-15 10:29:40 +00:00

52 lines
1.1 KiB
Rust

use chrono::prelude::*;
pub struct History {
pub id: i64,
pub client_id: String, // a client generated ID
pub user_id: i64,
pub hostname: String,
pub timestamp: NaiveDateTime,
/// 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: NaiveDateTime,
}
pub struct NewHistory {
pub client_id: String,
pub user_id: i64,
pub hostname: String,
pub timestamp: chrono::NaiveDateTime,
/// 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,
}