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

41 lines
980 B
Rust
Raw Normal View History

#![allow(proc_macro_derive_resolution_fallback)]
#[macro_use]
extern crate diesel;
extern crate serde;
extern crate sqlite3;
use actix_web::{ HttpServer, Responder, middleware, App};
use diesel::sqlite::SqliteConnection;
use std::time::Duration;
mod routes;
use self::routes::{index,projects,skills};
use diesel::r2d2::{self, ConnectionManager};
type DbPool = r2d2::Pool<ConnectionManager<SqliteConnection>>;
#[actix_web::main]
async fn main() -> std::io::Result<()> {
// set up database connection pool
let connspec = std::env::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(index)
.service(projects)
.service(skills)
})
.bind("127.0.0.1:8080")?
.run()
.await
}