Split up files and add templating

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2026-01-16 20:22:11 +01:00
parent 08a6e5b0fa
commit a1474dab43
8 changed files with 738 additions and 123 deletions

View file

@ -0,0 +1,53 @@
use axum::Router;
use axum::routing::get;
use axum::routing::post;
use axum_login::AuthUser;
use serde::Deserialize;
use serde::Serialize;
use sqlx::FromRow;
use crate::AppState;
mod login;
mod register;
#[derive(Debug, Clone, Serialize, Deserialize, FromRow)]
pub struct User {
id: i64,
username: String,
password: String,
}
impl User {
pub fn id(&self) -> i64 {
self.id
}
pub fn username(&self) -> &str {
&self.username
}
pub fn password(&self) -> &str {
&self.password
}
}
impl AuthUser for User {
type Id = i64;
fn id(&self) -> Self::Id {
self.id
}
fn session_auth_hash(&self) -> &[u8] {
self.password.as_bytes()
}
}
pub fn routes() -> Router<AppState> {
Router::new()
.route("/login", get(login::show_login))
.route("/login", post(login::do_login))
.route("/register", get(register::show_register))
.route("/register", post(register::do_register))
}