GeneIT/geneit_backend/src/models.rs

35 lines
676 B
Rust
Raw Normal View History

2023-05-24 14:19:46 +00:00
use crate::schema::users;
use diesel::prelude::*;
/// User ID holder
#[derive(Debug, Clone, Copy, serde::Serialize, serde::Deserialize)]
pub struct UserID(i32);
#[derive(Queryable, Debug)]
pub struct User {
id: i32,
name: String,
email: String,
password: Option<String>,
reset_password_token: Option<String>,
time_create: i64,
time_gen_reset_token: i64,
time_activate: i64,
active: bool,
admin: bool,
}
impl User {
pub fn id(&self) -> UserID {
UserID(self.id)
}
}
#[derive(Insertable)]
#[diesel(table_name = users)]
pub struct NewUser<'a> {
pub name: &'a str,
pub email: &'a str,
pub time_create: i64,
}