use rocket::routes as route; use rocket::{http::Method, launch}; mod db; mod item; mod routes; mod transaction; mod variant; // ░░░░░░░░░░▀▀▀██████▄▄▄░░░░░░░░░░ // ░░░░░░░░░░░░░░░░░▀▀▀████▄░░░░░░░ // ░░░░░░░░░░▄███████▀░░░▀███▄░░░░░ // ░░░░░░░░▄███████▀░░░░░░░▀███▄░░░ // ░░░░░░▄████████░░░░░░░░░░░███▄░░ // ░░░░░██████████▄░░░░░░░░░░░███▌░ ▒█▀▀█ █▀▀█ █▀▄▀█ █▀▄▀█ ▒█▀▀▄ ▒█▀▀█ // ░░░░░▀█████▀░▀███▄░░░░░░░░░▐███░ ▒█░░░ █░░█ █░▀░█ █░▀░█ ▒█░▒█ ▒█▀▀▄ // ░░░░░░░▀█▀░░░░░▀███▄░░░░░░░▐███░ ▒█▄▄█ ▀▀▀▀ ▀░░░▀ ▀░░░▀ ▒█▄▄▀ ▒█▄▄█ // ░░░░░░░░░░░░░░░░░▀███▄░░░░░███▌░ // ░░░░▄██▄░░░░░░░░░░░▀███▄░░▐███░░ // ░░▄██████▄░░░░░░░░░░░▀███▄███░░░ // ░█████▀▀████▄▄░░░░░░░░▄█████░░░░ // ░████▀░░░▀▀█████▄▄▄▄█████████▄░░ // ░░▀▀░░░░░░░░░▀▀██████▀▀░░░▀▀██░░ #[launch] async fn rocket() -> _ { let cors = rocket_cors::CorsOptions { allowed_origins: rocket_cors::AllowedOrigins::all(), allowed_methods: vec![Method::Get, Method::Post, Method::Options] .into_iter() .map(From::from) .collect(), allowed_headers: rocket_cors::AllowedHeaders::all(), allow_credentials: true, ..Default::default() } .to_cors() .expect("error creating CORS options"); let itemdb = db::ItemDB::new("./itemdb").await; rocket::build() .mount( "/", route![ routes::item::get_items_route, routes::item::item_route, routes::item::item_variants_page, routes::item::supply_log_route, routes::item::demand_log_route, routes::item::supply_route, routes::item::demand_route, routes::item::transaction_route ], ) .manage(itemdb) .attach(cors) }