You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
773 B
33 lines
773 B
mod argparse; |
|
mod server; |
|
|
|
#[macro_use] |
|
extern crate tracing; |
|
|
|
use anyhow::Result as AnyResult; |
|
use argparse::{process_cmd, Args}; |
|
use serde::Deserialize; |
|
use structopt::StructOpt; |
|
use u_lib::api::ClientHandler; |
|
use u_lib::logging::init_logger; |
|
use u_lib::utils::{env::default_host, load_env}; |
|
|
|
#[derive(Deserialize)] |
|
struct AccessEnv { |
|
admin_auth_token: String, |
|
#[serde(default = "default_host")] |
|
u_server: String, |
|
} |
|
|
|
#[actix_web::main] |
|
async fn main() -> AnyResult<()> { |
|
let env = load_env::<AccessEnv>()?; |
|
let client = ClientHandler::new(&env.u_server, Some(env.admin_auth_token)); |
|
let args = Args::from_args(); |
|
|
|
init_logger(None::<&str>); |
|
|
|
let result = process_cmd(client, args).await.to_string(); |
|
println!("{result}"); |
|
Ok(()) |
|
}
|
|
|