nixie-ci/nixie-server/src/users/mod.rs
Marcel Müller a1474dab43 Split up files and add templating
Signed-off-by: Marcel Müller <neikos@neikos.email>
2026-01-16 20:22:11 +01:00

53 lines
997 B
Rust

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))
}