use actix_web::{web, App, HttpServer, http::header}; use actix_cors::Cors; use handlers::{auth::{register, login}, categories::{get_main_categories, get_sub_categories}}; mod db; mod handlers; mod models; mod schema; #[actix_web::main] async fn main() -> std::io::Result<()> { env_logger::init(); let pool = db::connection_pool(); HttpServer::new(move || { let cors = Cors::default() .allow_any_origin() .allowed_methods(vec!["POST", "GET"]) .allowed_headers(vec![ header::CONTENT_TYPE, header::AUTHORIZATION, header::ACCEPT, ]) .max_age(3600); App::new() .app_data(web::Data::new(pool.clone())) .wrap(cors) .service(register) .service(login) .service(get_main_categories) .service(get_sub_categories) }) .bind(("0.0.0.0", 8081))? .run() .await }