Make clients list file configurable
This commit is contained in:
@@ -18,6 +18,14 @@ pub struct AppConfig {
|
|||||||
#[clap(short, long, env)]
|
#[clap(short, long, env)]
|
||||||
pub storage_path: String,
|
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
|
/// App token token
|
||||||
#[clap(short, long, env, default_value = "")]
|
#[clap(short, long, env, default_value = "")]
|
||||||
pub token_key: String,
|
pub token_key: String,
|
||||||
@@ -32,7 +40,7 @@ pub struct AppConfig {
|
|||||||
|
|
||||||
/// IP location service API
|
/// 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"
|
/// Example: "https://api.geoip.rs"
|
||||||
#[arg(long, short, env)]
|
#[arg(long, short, env)]
|
||||||
@@ -71,11 +79,17 @@ impl AppConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn clients_file(&self) -> PathBuf {
|
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 {
|
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 {
|
pub fn full_url(&self, uri: &str) -> String {
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ impl Client {
|
|||||||
|
|
||||||
pub type ClientManager = EntityManager<Client>;
|
pub type ClientManager = EntityManager<Client>;
|
||||||
|
|
||||||
impl EntityManager<Client> {
|
impl ClientManager {
|
||||||
pub fn find_by_id(&self, u: &ClientID) -> Option<Client> {
|
pub fn find_by_id(&self, u: &ClientID) -> Option<Client> {
|
||||||
for entry in self.iter() {
|
for entry in self.iter() {
|
||||||
if entry.id.eq(u) {
|
if entry.id.eq(u) {
|
||||||
|
|||||||
Reference in New Issue
Block a user