Added user login, logout and creation functionality

Also minor changes to ticketing and AppState
This commit is contained in:
2026-04-24 19:46:02 +02:00
parent fe04483e76
commit 51b6f89df2
10 changed files with 226 additions and 16 deletions

View File

@@ -1,5 +1,6 @@
#![allow(unused_imports)]
mod cookie;
mod env;
mod handlers;
mod models;
mod router;
@@ -12,13 +13,17 @@ use router::create_router;
use serde::{Deserialize, Serialize};
use sqlx::{PgPool, postgres::PgPoolOptions};
use crate::env::Env;
pub struct AppState {
db: PgPool,
env: Env,
}
#[tokio::main]
async fn main() {
dotenv().ok();
let env = Env::load();
let database_url = std::env::var("DATABASE_URL").expect("DATABASE_URL variable not set");
let pool = match PgPoolOptions::new().connect(&database_url).await {
Ok(pool) => {
@@ -30,7 +35,10 @@ async fn main() {
std::process::exit(1);
}
};
let app = create_router(Arc::new(AppState { db: pool.clone() }));
let app = create_router(Arc::new(AppState {
db: pool.clone(),
env: env.clone(),
}));
let listener = tokio::net::TcpListener::bind("0.0.0.0:8001").await.unwrap();
axum::serve(listener, app).await;
}