use oslo_lib::{build_app, hash_password}; use tide::Result; #[async_std::main] async fn main() -> Result<()> { let mut args = std::env::args(); if let Some(command) = &args.nth(1) { if command == "passwordgen" { let username = &args.next().expect("Username is required"); let password = &args.next().expect("Password is required"); let hash = hash_password(&password, &username); println!("{}", hash); } Ok(()) } else { let env = std::env::var("OSLO_ENVIRONMENT").unwrap_or(String::from("development")); if env == "development" { tide::log::start(); } let hostname = std::env::var("HOSTNAME").unwrap_or(String::from("127.0.0.1")); let port = std::env::var("PORT").unwrap_or(String::from("8080")); let app = build_app().await?; app.listen(format!("{}:{}", hostname, port)).await?; Ok(()) } }