pub mod request; pub mod schema; use actix_web::HttpServer; use actix_web::App; use actix_web::web; use diesel::PgConnection; use request::{login, register}; use diesel::r2d2::ConnectionManager; use diesel::r2d2::Pool; pub(crate) type DbPool = Pool>; #[actix_web::main] async fn main() -> std::io::Result<()> { let url = "postgres://root:root@localhost/gamenight"; let manager = ConnectionManager::::new(url); // Refer to the `r2d2` documentation for more methods to use // when building a connection pool let pool = Pool::builder() .test_on_check_out(true) .build(manager) .expect("Could not build connection pool"); HttpServer::new(move || { App::new() .app_data(web::Data::new(pool.clone())) .service(login) .service(register) }) .bind(("::1", 8080))? .run() .await }