extern crate dotenv; extern crate diesel; extern crate serde; extern crate sqlite3; use actix_web::{ HttpServer, App}; use diesel::sqlite::SqliteConnection; mod routes; use self::routes::{profiles,skills,languages}; use diesel::r2d2::{self, ConnectionManager}; use dotenv::dotenv; type DbPool = r2d2::Pool>; #[actix_web::main] async fn main() -> std::io::Result<()> { dotenv().ok(); // set up database connection pool let connspec = dotenv::var("DATABASE_URL").expect("DATABASE_URL"); let manager = ConnectionManager::::new(connspec); let pool = r2d2::Pool::builder() .build(manager) .expect("Failed to create pool."); HttpServer::new(move || { App::new() .data(pool.clone()) .service(skills) .service(profiles) .service(languages) }) .bind("127.0.0.1:8080")? .run() .await }