use actix_web::{get, HttpRequest, Responder}; use maud::html; mod cache; mod db; mod item; mod routes; mod transaction; mod variant; // ░░░░░░░░░░▀▀▀██████▄▄▄░░░░░░░░░░ // ░░░░░░░░░░░░░░░░░▀▀▀████▄░░░░░░░ // ░░░░░░░░░░▄███████▀░░░▀███▄░░░░░ // ░░░░░░░░▄███████▀░░░░░░░▀███▄░░░ // ░░░░░░▄████████░░░░░░░░░░░███▄░░ // ░░░░░██████████▄░░░░░░░░░░░███▌░ ▒█▀▀█ █▀▀█ █▀▄▀█ █▀▄▀█ ▒█▀▀▄ ▒█▀▀█ // ░░░░░▀█████▀░▀███▄░░░░░░░░░▐███░ ▒█░░░ █░░█ █░▀░█ █░▀░█ ▒█░▒█ ▒█▀▀▄ // ░░░░░░░▀█▀░░░░░▀███▄░░░░░░░▐███░ ▒█▄▄█ ▀▀▀▀ ▀░░░▀ ▀░░░▀ ▒█▄▄▀ ▒█▄▄█ // ░░░░░░░░░░░░░░░░░▀███▄░░░░░███▌░ // ░░░░▄██▄░░░░░░░░░░░▀███▄░░▐███░░ // ░░▄██████▄░░░░░░░░░░░▀███▄███░░░ // ░█████▀▀████▄▄░░░░░░░░▄█████░░░░ // ░████▀░░░▀▀█████▄▄▄▄█████████▄░░ // ░░▀▀░░░░░░░░░▀▀██████▀▀░░░▀▀██░░ #[get("/")] pub(crate) async fn index(r: HttpRequest) -> impl Responder { let itemdb: &actix_web::web::Data = r.app_data().unwrap(); let content = ""; web_base::func::build_site(&r, "Index", &content) } #[actix_web::main] async fn main() -> std::io::Result<()> { env_logger::init(); let itemdb = db::ItemDB::new("./itemdb", "mongodb://user:pass@127.0.0.1:27017").await; let itemdb = actix_web::web::Data::new(itemdb); web_base::map!(web_base::Site::new(), |app: actix_web::App<_>| { app.app_data(itemdb.clone()) .service(index) .service(routes::item::supply_route) .service(routes::item::item_variants_page) .service(routes::item::get_items_route) }) .bind(("0.0.0.0".to_string(), 8080))? .run() .await }