mod database; mod graphql; use clap::{App, Arg}; use database::scan_dbs; use graphql::server; fn main() -> std::io::Result<()> { let cmd = App::new("Riplog") .version("1.0") .arg( Arg::with_name("basedir") .required(true) .short("d") .help("Base directory containing ripcord db files") .default_value(".") .index(1), ) .arg( Arg::with_name("bind") .required(true) .short("b") .help("Address to bind to") .default_value("127.0.0.1"), ) .arg( Arg::with_name("port") .required(true) .short("p") .help("Port to listen on") .default_value("8080"), ) .get_matches(); let basedir = cmd.value_of("basedir").unwrap(); let addr = cmd.value_of("bind").unwrap(); let port = cmd.value_of("port").unwrap().parse().unwrap(); let logs = scan_dbs(basedir); println!("Loaded data for {} workspaces", logs.len()); server(addr, port, logs); Ok(()) }