39 lines
1.0 KiB
Rust
39 lines
1.0 KiB
Rust
use actix_web::{web, App, HttpServer};
|
|
use dotenv::dotenv;
|
|
use sqlx::postgres::PgPoolOptions;
|
|
use std::env;
|
|
|
|
#[cfg(test)]
|
|
mod tests;
|
|
|
|
pub mod admin_data;
|
|
pub mod driver_data;
|
|
pub mod pog;
|
|
pub mod radar_data;
|
|
pub mod ticket_data;
|
|
pub mod vehicle_data;
|
|
|
|
#[actix_web::main]
|
|
async fn main() -> std::io::Result<()> {
|
|
dotenv().ok();
|
|
let port: u16 = env::var("ACTIX_PORT")
|
|
.expect("SET ACTIX_PORT PLOX")
|
|
.parse()
|
|
.expect("NOPE CANT PARSE THIS WHAT DID YOU PUT IN?!!!");
|
|
let address = env::var("ACTIX_IP").expect("SET ACTIX_IP PLOX");
|
|
let database_url = env::var("DATABASE_URL").expect("Put a DB url in the .env file dumbass");
|
|
let pool = PgPoolOptions::new()
|
|
.max_connections(10)
|
|
.connect(database_url.as_str())
|
|
.await
|
|
.expect("No pool connection man :(");
|
|
HttpServer::new(move || {
|
|
App::new()
|
|
.app_data(web::Data::new(pool.clone()))
|
|
.service(driver_data::list_all)
|
|
})
|
|
.bind((address.as_str(), port))?
|
|
.run()
|
|
.await
|
|
}
|