use envy::{from_env, Result as EnvResult}; use serde::{de::DeserializeOwned, Deserialize}; #[derive(Deserialize)] pub struct NoneEnv; #[derive(Deserialize)] pub struct Env { #[serde(default = "default_host")] pub u_server: String, pub inner: E, } impl Env { pub fn init_default() -> EnvResult { let envs = [".env", ".env.private"]; for envfile in &envs { dotenv::from_filename(envfile).ok(); } from_env() } } impl Env { pub fn init() -> EnvResult { let envs = [".env", ".env.private"]; for envfile in &envs { dotenv::from_filename(envfile).ok(); } from_env() } } fn default_host() -> String { "ortem.xyz".to_string() }