Make clients list file configurable
This commit is contained in:
		| @@ -18,6 +18,14 @@ pub struct AppConfig { | ||||
|     #[clap(short, long, env)] | ||||
|     pub storage_path: String, | ||||
|  | ||||
|     /// Overwrite clients list file path, if the file is not to be found in storage path | ||||
|     #[clap(long, env)] | ||||
|     pub clients_list_file_path: Option<String>, | ||||
|  | ||||
|     /// Overwrite providers list file path, if the file is not to be found in storage path | ||||
|     #[clap(long, env)] | ||||
|     pub providers_list_file_path: Option<String>, | ||||
|  | ||||
|     /// App token token | ||||
|     #[clap(short, long, env, default_value = "")] | ||||
|     pub token_key: String, | ||||
| @@ -32,7 +40,7 @@ pub struct AppConfig { | ||||
|  | ||||
|     /// IP location service API | ||||
|     /// | ||||
|     /// Up instance of IP location service : https://gitlab.com/pierre42100/iplocationserver | ||||
|     /// Operating instance of IP location service : https://gitlab.com/pierre42100/iplocationserver | ||||
|     /// | ||||
|     /// Example: "https://api.geoip.rs" | ||||
|     #[arg(long, short, env)] | ||||
| @@ -71,11 +79,17 @@ impl AppConfig { | ||||
|     } | ||||
|  | ||||
|     pub fn clients_file(&self) -> PathBuf { | ||||
|         self.storage_path().join(CLIENTS_LIST_FILE) | ||||
|         match &self.clients_list_file_path { | ||||
|             None => self.storage_path().join(CLIENTS_LIST_FILE), | ||||
|             Some(p) => Path::new(p).to_path_buf(), | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     pub fn providers_file(&self) -> PathBuf { | ||||
|         self.storage_path().join(PROVIDERS_LIST_FILE) | ||||
|         match &self.providers_list_file_path { | ||||
|             None => self.storage_path().join(PROVIDERS_LIST_FILE), | ||||
|             Some(p) => Path::new(p).to_path_buf(), | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     pub fn full_url(&self, uri: &str) -> String { | ||||
|   | ||||
| @@ -125,7 +125,7 @@ impl Client { | ||||
|  | ||||
| pub type ClientManager = EntityManager<Client>; | ||||
|  | ||||
| impl EntityManager<Client> { | ||||
| impl ClientManager { | ||||
|     pub fn find_by_id(&self, u: &ClientID) -> Option<Client> { | ||||
|         for entry in self.iter() { | ||||
|             if entry.id.eq(u) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user