|
|
|
@ -1,6 +1,8 @@
|
|
|
|
|
use crate::{
|
|
|
|
|
location_info,
|
|
|
|
|
settings::structs::{
|
|
|
|
|
settings::{
|
|
|
|
|
defaults::{DEFAULT_DATABASE_DB, DEFAULT_DATABASE_PORT, DEFAULT_DATABASE_USER},
|
|
|
|
|
structs::{
|
|
|
|
|
CaptchaConfig,
|
|
|
|
|
DatabaseConfig,
|
|
|
|
|
EmailConfig,
|
|
|
|
@ -9,6 +11,7 @@ use crate::{
|
|
|
|
|
Settings,
|
|
|
|
|
SetupConfig,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
LemmyError,
|
|
|
|
|
};
|
|
|
|
|
use anyhow::{anyhow, Context};
|
|
|
|
@ -16,7 +19,7 @@ use deser_hjson::from_str;
|
|
|
|
|
use merge::Merge;
|
|
|
|
|
use std::{env, fs, io::Error, net::IpAddr, sync::RwLock};
|
|
|
|
|
|
|
|
|
|
pub(crate) mod defaults;
|
|
|
|
|
pub mod defaults;
|
|
|
|
|
pub mod structs;
|
|
|
|
|
|
|
|
|
|
static CONFIG_FILE: &str = "config/config.hjson";
|
|
|
|
@ -60,7 +63,15 @@ impl Settings {
|
|
|
|
|
let conf = self.database();
|
|
|
|
|
format!(
|
|
|
|
|
"postgres://{}:{}@{}:{}/{}",
|
|
|
|
|
conf.user, conf.password, conf.host, conf.port, conf.database,
|
|
|
|
|
conf
|
|
|
|
|
.user
|
|
|
|
|
.unwrap_or_else(|| DEFAULT_DATABASE_USER.to_string()),
|
|
|
|
|
conf.password,
|
|
|
|
|
conf.host,
|
|
|
|
|
conf.port.unwrap_or(DEFAULT_DATABASE_PORT),
|
|
|
|
|
conf
|
|
|
|
|
.database
|
|
|
|
|
.unwrap_or_else(|| DEFAULT_DATABASE_DB.to_string()),
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|