User type

This commit is contained in:
Greg Shuflin 2025-02-01 01:13:59 -08:00
parent 80c110d71b
commit 4d30cd711e
3 changed files with 28 additions and 0 deletions

4
Cargo.lock generated
View File

@ -234,7 +234,10 @@ checksum = "7e36cc9d416881d2e24f9a963be5fb1cd90966419ac844274161d10488b3e825"
dependencies = [ dependencies = [
"android-tzdata", "android-tzdata",
"iana-time-zone", "iana-time-zone",
"js-sys",
"num-traits", "num-traits",
"serde",
"wasm-bindgen",
"windows-targets 0.52.6", "windows-targets 0.52.6",
] ]
@ -1600,6 +1603,7 @@ version = "0.1.0"
dependencies = [ dependencies = [
"argon2", "argon2",
"atom_syndication", "atom_syndication",
"chrono",
"rocket", "rocket",
"rocket_dyn_templates", "rocket_dyn_templates",
"rss", "rss",

View File

@ -6,6 +6,7 @@ edition = "2021"
[dependencies] [dependencies]
argon2 = "0.5.3" argon2 = "0.5.3"
atom_syndication = "0.12.6" atom_syndication = "0.12.6"
chrono = { version = "0.4.34", features = ["serde"] }
rocket = { version = "0.5.1", features = ["json"] } rocket = { version = "0.5.1", features = ["json"] }
rocket_dyn_templates = { version = "0.2.0", features = ["tera"] } rocket_dyn_templates = { version = "0.2.0", features = ["tera"] }
rss = "2.0.11" rss = "2.0.11"

View File

@ -3,6 +3,7 @@
use rocket::serde::{Serialize, json::Json}; use rocket::serde::{Serialize, json::Json};
use rocket_dyn_templates::{Template, context}; use rocket_dyn_templates::{Template, context};
use rocket::fs::FileServer; use rocket::fs::FileServer;
use uuid::Uuid;
#[derive(Serialize)] #[derive(Serialize)]
#[serde(crate = "rocket::serde")] #[serde(crate = "rocket::serde")]
@ -11,6 +12,28 @@ struct Message {
b: String, b: String,
} }
#[derive(Debug, Serialize)]
#[serde(crate = "rocket::serde")]
struct User {
id: Uuid,
username: String,
email: Option<String>,
display_name: Option<String>,
created_at: String, // ISO 8601 formatted date string
}
impl User {
fn new(username: String, email: Option<String>, display_name: Option<String>) -> Self {
User {
id: Uuid::new_v4(),
username,
email,
display_name,
created_at: chrono::Utc::now().to_rfc3339(),
}
}
}
#[get("/message")] #[get("/message")]
fn message() -> Json<Message> { fn message() -> Json<Message> {
Json(Message { Json(Message {