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.
CheezeNotes/src/commons.rs

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>,
}