|
|
|
|
@@ -1,7 +1,8 @@
|
|
|
|
|
/* advotracker infrastructure.
|
|
|
|
|
// SPDX-License-Identifier: 0BSD, MIT
|
|
|
|
|
/*
|
|
|
|
|
* advotracker - Hotline tackingtool for Advocats
|
|
|
|
|
*
|
|
|
|
|
* Copyright 2020 Ralf Zerres <ralf.zerres@networkx.de>
|
|
|
|
|
* SPDX-License-Identifier: (0BSD or MIT)
|
|
|
|
|
* Copyright 2020-2021 Ralf Zerres <ralf.zerres@networkx.de>
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// Rust nightly supports procedural macros!
|
|
|
|
|
@@ -51,9 +52,9 @@ impl AdvoTrackerSubscriber {
|
|
|
|
|
fn run_subcommand(matches: &ArgMatches) -> Result<(), String> {
|
|
|
|
|
//info!("inside run_subcommand");
|
|
|
|
|
match matches.subcommand() {
|
|
|
|
|
("config", Some(cmd)) => run_config(cmd),
|
|
|
|
|
("test", Some(cmd)) => run_test(cmd),
|
|
|
|
|
_ => Ok(()),
|
|
|
|
|
("config", Some(cmd)) => run_config(cmd),
|
|
|
|
|
("test", Some(cmd)) => run_test(cmd),
|
|
|
|
|
_ => Ok(()),
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -68,11 +69,11 @@ fn run_test(matches: &ArgMatches) -> Result<(), String> {
|
|
|
|
|
//info!("inside run_test");
|
|
|
|
|
|
|
|
|
|
if let Some(matches) = matches.subcommand_matches("test") {
|
|
|
|
|
if matches.is_present("debug") {
|
|
|
|
|
println!("test: Printing debug info...");
|
|
|
|
|
} else {
|
|
|
|
|
println!("test: Printing normally...");
|
|
|
|
|
}
|
|
|
|
|
if matches.is_present("debug") {
|
|
|
|
|
println!("test: Printing debug info...");
|
|
|
|
|
} else {
|
|
|
|
|
println!("test: Printing normally...");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Ok(())
|
|
|
|
|
}
|
|
|
|
|
@@ -95,8 +96,8 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
|
|
let span = tracing::span!(Level::TRACE, "advotracker_main");
|
|
|
|
|
let _enter = span.enter();
|
|
|
|
|
let subscriber = fmt::Subscriber::builder()
|
|
|
|
|
.with_env_filter("advotracker=trace")
|
|
|
|
|
.finish();
|
|
|
|
|
.with_env_filter("advotracker=trace")
|
|
|
|
|
.finish();
|
|
|
|
|
|
|
|
|
|
// initialize logger
|
|
|
|
|
// TODO: exchange with tracing!
|
|
|
|
|
@@ -104,109 +105,109 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
|
|
//info!("Commencing the proxy!");
|
|
|
|
|
|
|
|
|
|
tracing::subscriber::with_default(subscriber, || {
|
|
|
|
|
// get system environment
|
|
|
|
|
let mut lang = env::var("LANG").unwrap_or("en".to_string());
|
|
|
|
|
let mut res = t!("parse.environment", lang);
|
|
|
|
|
let mut state = t!("state.started", lang);
|
|
|
|
|
trace!(target: "advotracker", message = ?res, state = ?state);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
trace!(target: "advotracker", environment = "system", lang = ?lang);
|
|
|
|
|
// get system environment
|
|
|
|
|
let mut lang = env::var("LANG").unwrap_or("en".to_string());
|
|
|
|
|
let mut res = t!("parse.environment", lang);
|
|
|
|
|
let mut state = t!("state.started", lang);
|
|
|
|
|
trace!(target: "advotracker", message = ?res, state = ?state);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
trace!(target: "advotracker", environment = "system", lang = ?lang);
|
|
|
|
|
|
|
|
|
|
// get testing environment (.env)
|
|
|
|
|
dotenv().ok();
|
|
|
|
|
match envy::from_env::<Environment>() {
|
|
|
|
|
Ok(environment) => {
|
|
|
|
|
if environment.test_lang != lang { lang = environment.test_lang; }
|
|
|
|
|
},
|
|
|
|
|
Err(e) => { debug!(target: "advotracker", "{}", e); }
|
|
|
|
|
}
|
|
|
|
|
res = t!("parse.environment", lang);
|
|
|
|
|
trace!(target: "advotracker", environment = "envy", lang = ?lang);
|
|
|
|
|
state = t!("state.finished", lang);
|
|
|
|
|
trace!(target: "advotracker", message = ?res, state = ?state);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
// get testing environment (.env)
|
|
|
|
|
dotenv().ok();
|
|
|
|
|
match envy::from_env::<Environment>() {
|
|
|
|
|
Ok(environment) => {
|
|
|
|
|
if environment.test_lang != lang { lang = environment.test_lang; }
|
|
|
|
|
},
|
|
|
|
|
Err(e) => { debug!(target: "advotracker", "{}", e); }
|
|
|
|
|
}
|
|
|
|
|
res = t!("parse.environment", lang);
|
|
|
|
|
trace!(target: "advotracker", environment = "envy", lang = ?lang);
|
|
|
|
|
state = t!("state.finished", lang);
|
|
|
|
|
trace!(target: "advotracker", message = ?res, state = ?state);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
|
|
|
|
|
// initialize viperus structure
|
|
|
|
|
let mut v = Viperus::new();
|
|
|
|
|
// initialize viperus structure
|
|
|
|
|
let mut v = Viperus::new();
|
|
|
|
|
|
|
|
|
|
// parse commandline arguments
|
|
|
|
|
res = t!("parse.arguments", lang);
|
|
|
|
|
state = t!("state.started", lang);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
//info!(target: "advotracker", "{}", res);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
//info!(target: "advotracker", "parsing commandline args");
|
|
|
|
|
let _ = parse_args(&mut v);
|
|
|
|
|
state = t!("state.finished", lang);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
//trace!(target: "Viperus", "Config results: {:?}", v);
|
|
|
|
|
// parse commandline arguments
|
|
|
|
|
res = t!("parse.arguments", lang);
|
|
|
|
|
state = t!("state.started", lang);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
//info!(target: "advotracker", "{}", res);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
//info!(target: "advotracker", "parsing commandline args");
|
|
|
|
|
let _ = parse_args(&mut v);
|
|
|
|
|
state = t!("state.finished", lang);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
//trace!(target: "Viperus", "Config results: {:?}", v);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
if verbose > 1 {
|
|
|
|
|
for (key, value) in env::vars() {
|
|
|
|
|
println!("{}={}", key, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
/*
|
|
|
|
|
if verbose > 1 {
|
|
|
|
|
for (key, value) in env::vars() {
|
|
|
|
|
println!("{}={}", key, value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
//state = t!("state.finished", lang);
|
|
|
|
|
//trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
//state = t!("state.finished", lang);
|
|
|
|
|
//trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
//debug!(message = ?res, state = ?state);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
// handle subcommands
|
|
|
|
|
if let Err(e) = run_subcommand(&matches) {
|
|
|
|
|
println!("Subcommand error: {}", e);
|
|
|
|
|
process::exit(1);
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
/*
|
|
|
|
|
// handle subcommands
|
|
|
|
|
if let Err(e) = run_subcommand(&matches) {
|
|
|
|
|
println!("Subcommand error: {}", e);
|
|
|
|
|
process::exit(1);
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// Starting the program logic
|
|
|
|
|
res = t!("main.started", lang);
|
|
|
|
|
state = t!("state.started", lang);
|
|
|
|
|
//info!(target: "advotracker", "{}", res);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
// Starting the program logic
|
|
|
|
|
res = t!("main.started", lang);
|
|
|
|
|
state = t!("state.started", lang);
|
|
|
|
|
//info!(target: "advotracker", "{}", res);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
|
|
|
|
|
//use advotracker_backend::*;
|
|
|
|
|
//use advotracker_backend::schema::users::dsl::*;
|
|
|
|
|
//use advotracker_backend::*;
|
|
|
|
|
//use advotracker_backend::schema::users::dsl::*;
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
let connection = establish_connection();
|
|
|
|
|
/*
|
|
|
|
|
let connection = establish_connection();
|
|
|
|
|
|
|
|
|
|
trace!(
|
|
|
|
|
target: "advotracker",
|
|
|
|
|
process = "Sqlite3",
|
|
|
|
|
status = "connected",
|
|
|
|
|
);
|
|
|
|
|
*/
|
|
|
|
|
trace!(
|
|
|
|
|
target: "advotracker",
|
|
|
|
|
process = "Sqlite3",
|
|
|
|
|
status = "connected",
|
|
|
|
|
);
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
//User::table.load(&connection);
|
|
|
|
|
//user::belonging_to(users).load(&connection);
|
|
|
|
|
use advotracker_backend::models::*;
|
|
|
|
|
/*
|
|
|
|
|
//User::table.load(&connection);
|
|
|
|
|
//user::belonging_to(users).load(&connection);
|
|
|
|
|
use advotracker_backend::models::*;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let results = users
|
|
|
|
|
//.filter(published.eq(true))
|
|
|
|
|
.limit(5)
|
|
|
|
|
.load::<User>(&connection)
|
|
|
|
|
.expect("Error loading users");
|
|
|
|
|
let results = users
|
|
|
|
|
//.filter(published.eq(true))
|
|
|
|
|
.limit(5)
|
|
|
|
|
.load::<User>(&connection)
|
|
|
|
|
.expect("Error loading users");
|
|
|
|
|
|
|
|
|
|
println!("Displaying {} users", results.len());
|
|
|
|
|
for user in results {
|
|
|
|
|
println!("{}", user.user_id);
|
|
|
|
|
println!("----------\n");
|
|
|
|
|
println!("{}", user.first_name);
|
|
|
|
|
println!("{}", user.last_name);
|
|
|
|
|
println!("{}", user.alias);
|
|
|
|
|
println!("{}", user.email);
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
println!("Displaying {} users", results.len());
|
|
|
|
|
for user in results {
|
|
|
|
|
println!("{}", user.user_id);
|
|
|
|
|
println!("----------\n");
|
|
|
|
|
println!("{}", user.first_name);
|
|
|
|
|
println!("{}", user.last_name);
|
|
|
|
|
println!("{}", user.alias);
|
|
|
|
|
println!("{}", user.email);
|
|
|
|
|
}
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
state = t!("state.finished", lang);
|
|
|
|
|
res = t!("main.finished", lang);
|
|
|
|
|
//info!(target: "advotracker", "{}", res);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
state = t!("state.finished", lang);
|
|
|
|
|
res = t!("main.finished", lang);
|
|
|
|
|
//info!(target: "advotracker", "{}", res);
|
|
|
|
|
trace!(target: "advotracker", process = ?res, state = ?state);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
Ok(())
|
|
|
|
|
|