Added user login, logout and creation functionality
Also minor changes to ticketing and AppState
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user