use chrono; use rocket::serde::{Deserialize, Serialize}; use uuid::Uuid; #[derive(Debug, Serialize)] #[serde(crate = "rocket::serde")] pub struct User { pub id: Uuid, pub username: String, pub password_hash: String, pub email: Option, pub display_name: Option, pub created_at: chrono::DateTime, } impl User { pub fn new(username: String, password_hash: String, email: Option, display_name: Option) -> Self { User { id: Uuid::new_v4(), username, password_hash, email, display_name, created_at: chrono::Utc::now(), } } } #[derive(Debug, Deserialize)] #[serde(crate = "rocket::serde")] pub struct NewUser { pub username: String, pub password: String, pub email: Option, pub display_name: Option, }