2020-01-24 15:16:42 +00:00
|
|
|
mod database;
|
|
|
|
mod graphql;
|
|
|
|
|
|
|
|
use clap::{App, Arg};
|
|
|
|
use database::scan_dbs;
|
|
|
|
use graphql::server;
|
|
|
|
|
2020-01-27 09:05:54 +00:00
|
|
|
#[actix_rt::main]
|
|
|
|
async fn main() -> std::io::Result<()> {
|
2020-01-24 15:16:42 +00:00
|
|
|
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),
|
|
|
|
)
|
2020-02-05 14:16:50 +00:00
|
|
|
.arg(
|
|
|
|
Arg::with_name("static")
|
|
|
|
.required(true)
|
|
|
|
.short("s")
|
|
|
|
.help("Folder containing static assets (frontend)")
|
|
|
|
.default_value("frontend/dist"),
|
|
|
|
)
|
2020-01-24 15:16:42 +00:00
|
|
|
.arg(
|
|
|
|
Arg::with_name("bind")
|
|
|
|
.required(true)
|
|
|
|
.short("b")
|
|
|
|
.help("Address to bind to")
|
2020-01-27 09:05:54 +00:00
|
|
|
.default_value("127.0.0.1:8080"),
|
2020-01-24 15:16:42 +00:00
|
|
|
)
|
|
|
|
.get_matches();
|
|
|
|
|
|
|
|
let basedir = cmd.value_of("basedir").unwrap();
|
2020-01-24 15:51:05 +00:00
|
|
|
let addr = cmd.value_of("bind").unwrap();
|
2020-02-05 14:16:50 +00:00
|
|
|
let static_dir = String::from(cmd.value_of("static").unwrap());
|
2020-01-24 15:16:42 +00:00
|
|
|
let logs = scan_dbs(basedir);
|
|
|
|
println!("Loaded data for {} workspaces", logs.len());
|
2020-02-05 14:16:50 +00:00
|
|
|
server(addr, static_dir, logs).await
|
2020-01-24 15:16:42 +00:00
|
|
|
}
|