Files
ticketsystem/backend/src/main.rs
schn33fuchs d890255631 Added router for routing requests
1. Duh
2. Also minor bugfix
2026-04-22 21:27:08 +02:00

36 lines
955 B
Rust

#![allow(unused_imports)]
mod handlers;
mod models;
mod router;
use std::sync::Arc;
use axum::{Router, routing};
use dotenv::dotenv;
use models::*;
use router::create_router;
use serde::{Deserialize, Serialize};
use sqlx::{PgPool, postgres::PgPoolOptions};
pub struct AppState {
db: PgPool,
}
#[tokio::main]
async fn main() {
dotenv().ok();
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) => {
println!("Database connection successful");
pool
}
Err(err) => {
println!("Failed to connect to database: {:?}", err);
std::process::exit(1);
}
};
let app = create_router(Arc::new(AppState { db: pool.clone() }));
let listener = tokio::net::TcpListener::bind("0.0.0.0:8001").await.unwrap();
axum::serve(listener, app).await;
}