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.
36 lines
837 B
36 lines
837 B
use clap::Parser;
|
|
use r2d2::Pool;
|
|
use r2d2_sqlite::SqliteConnectionManager;
|
|
|
|
#[derive(Parser)]
|
|
pub struct Arguments {
|
|
/// IP address
|
|
#[arg(short, long, default_value_t = String::from("127.0.0.1"))]
|
|
pub ip: String,
|
|
/// Port to listen to
|
|
#[arg(short, long, default_value_t = 8333)]
|
|
pub port: u16,
|
|
/// root of the url ending and starting with /
|
|
#[arg(short, long, default_value_t = String::from("/"))]
|
|
pub root: String,
|
|
/// sqlite database path
|
|
#[arg(short, long, default_value_t = String::from("db/db.sqlite3"))]
|
|
pub db: String,
|
|
}
|
|
|
|
impl Arguments {
|
|
|
|
pub fn parse_args() -> Arguments {
|
|
let args = Arguments::parse();
|
|
args
|
|
}
|
|
|
|
}
|
|
|
|
#[derive(Clone)]
|
|
pub struct AppData {
|
|
pub app_name: String,
|
|
pub base_url: String,
|
|
pub db_pool: Pool<SqliteConnectionManager>,
|
|
}
|