diff options
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..aeb4906 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,44 @@ +// Copyright (C) 2021-2021 Fuwn +// SPDX-License-Identifier: GPL-3.0-only + +#[macro_use] +extern crate actix_web; +#[macro_use] +extern crate serde_derive; +#[macro_use] +extern crate diesel; +#[macro_use] +extern crate simple_error; + +pub mod routes; +pub mod structure; + +pub mod db; + +use actix_web::web; +use routes::*; + +#[actix_web::main] +async fn main() -> std::io::Result<()> { + dotenv::dotenv().ok(); + + actix_web::HttpServer::new(|| { + actix_web::App::new() + .wrap(actix_cors::Cors::default().allow_any_origin()) + .service(ui::index) + .service(ui::handle) + .service(ui::statistics) + .service( + web::scope("/api/v1") + .service(api::create) + .service(api::statistics) + .service(api::index), + ) + }) + .bind(format!( + "0.0.0.0:{}", + std::env::var("PORT").expect("no port was provided.") + ))? + .run() + .await +} |