atuin/crates/atuin-server-database/src/models.rs
Ellie Huxtable 67d64ec4b3
feat: add user account verification (#2190)
* add verified column to users table

* add database functions to check if verified, or to verify

* getting there

* verification check

* use base64 urlsafe no pad

* add verification client

* clippy

* correct docs

* fix integration tests
2024-06-24 14:54:54 +01:00

54 lines
1.1 KiB
Rust

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 verified: Option<OffsetDateTime>,
}
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,
}