ki-backend-rs/server/src/main.rs

39 lines
934 B
Rust

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<ConnectionManager<SqliteConnection>>;
#[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::<SqliteConnection>::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
}