atuin/atuin-server/src/models.rs

52 lines
947 B
Rust
Raw Normal View History

use std::borrow::Cow;
use chrono::prelude::*;
#[derive(sqlx::FromRow)]
pub struct History {
pub id: i64,
pub client_id: String, // a client generated ID
pub user_id: i64,
pub hostname: String,
pub timestamp: NaiveDateTime,
pub data: String,
pub created_at: NaiveDateTime,
}
pub struct NewHistory<'a> {
pub client_id: Cow<'a, str>,
pub user_id: i64,
pub hostname: Cow<'a, str>,
pub timestamp: chrono::NaiveDateTime,
pub data: Cow<'a, str>,
}
#[derive(sqlx::FromRow)]
pub struct User {
pub id: i64,
pub username: String,
pub email: String,
pub password: String,
}
#[derive(sqlx::FromRow)]
pub struct Session {
pub id: i64,
pub user_id: i64,
pub token: String,
}
pub struct NewUser<'a> {
pub username: Cow<'a, str>,
pub email: Cow<'a, str>,
pub password: Cow<'a, str>,
}
pub struct NewSession<'a> {
pub user_id: i64,
pub token: Cow<'a, str>,
}