update docs, env variables
parent
26335551df
commit
814d7d5abc
|
|
@ -1,10 +1,12 @@
|
||||||
use clap::{Parser, Subcommand};
|
use clap::{Parser, Subcommand};
|
||||||
|
|
||||||
|
/// Tool collection for work at RCC.
|
||||||
|
/// Make sure have some config files in your config folder .config/rcc/
|
||||||
|
/// with live and stage as environment. Containing DB_USER, DB_PASSWORD, DB_LOCATION, DB_PORT.
|
||||||
#[derive(Parser)]
|
#[derive(Parser)]
|
||||||
#[command(name = "RCC")]
|
#[command(name = "RCC")]
|
||||||
#[command(author = "Mathias Rothenhaeusler")]
|
#[command(author = "Mathias Rothenhaeusler")]
|
||||||
#[command(version = "1.0")]
|
#[command(version = "1.0")]
|
||||||
#[command(about = "Tool collection for work at RCC.", long_about = None)]
|
|
||||||
pub struct Cli {
|
pub struct Cli {
|
||||||
#[arg(short = 'e', long = "env")]
|
#[arg(short = 'e', long = "env")]
|
||||||
pub env: Option<String>,
|
pub env: Option<String>,
|
||||||
|
|
|
||||||
|
|
@ -39,19 +39,21 @@ impl Db {
|
||||||
)))
|
)))
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
let location: String = env::var("LOCATION").unwrap_or_else(|_| "localhost".to_string());
|
let location: String = env::var("DB_LOCATION").unwrap_or_else(|_| "localhost".to_string());
|
||||||
let user: String = env::var("USERNAME")
|
let user: String = env::var("DB_USERNAME")
|
||||||
.map_err(|_| Box::new(InitError("Missing USERNAME in dotenv file.".to_string())))?;
|
.map_err(|_| Box::new(InitError("Missing DB_USERNAME in dotenv file.".to_string())))?;
|
||||||
let port: String = env::var("PORT").unwrap_or_else(|_| "3306".to_string());
|
let port: String = env::var("DB_PORT").unwrap_or_else(|_| "3306".to_string());
|
||||||
let password: String = env::var("PASSWORD")
|
let password: String = env::var("DB_PASSWORD")
|
||||||
.map_err(|_| Box::new(InitError("Missing PASSWORD in dotenv file.".to_string())))?;
|
.map_err(|_| Box::new(InitError("Missing DB_PASSWORD in dotenv file.".to_string())))?;
|
||||||
let db_name: String = env::var("DB").unwrap_or_else(|_| "efulfilment".to_string());
|
let db_name: String = env::var("DB").unwrap_or_else(|_| "efulfilment".to_string());
|
||||||
let url: String = format!(
|
let url: String = format!(
|
||||||
"mysql://{}:{}@{}:{}/{}",
|
"mysql://{}:{}@{}:{}/{}",
|
||||||
user, password, location, port, db_name
|
user, password, location, port, db_name
|
||||||
);
|
);
|
||||||
|
|
||||||
let pool: Pool = Pool::new_manual(1, 2, Opts::from_url(&url)?)?;
|
let pool: Pool = Pool::new_manual(1, 2, Opts::from_url(&url)?).map_err(|e| {
|
||||||
|
format!("Problem with connection User: {user}, location {location}, port {port}: {e}")
|
||||||
|
})?;
|
||||||
let database: Db = Self {
|
let database: Db = Self {
|
||||||
pool: Arc::new(Mutex::new(pool)),
|
pool: Arc::new(Mutex::new(pool)),
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue