fix(token): allow to get and store token in local config

This commit is contained in:
grimhilt
2024-02-21 16:50:54 +01:00
parent a5c5f4a713
commit 69614b0c9f
4 changed files with 32 additions and 16 deletions

View File

@@ -56,6 +56,7 @@ impl RequestManager {
pub fn get_token(&mut self) -> String {
if self.token.is_none() {
// look in global config
if let Some(token) = gconfig::read_token() {
if !token.is_empty() {
self.token = Some(token);
@@ -63,10 +64,21 @@ impl RequestManager {
}
}
// look in local config
if let Some(token) = config::find_option_in_cat("core", "token")
{
if !token.is_empty() {
self.token = Some(token);
return self.token.clone().unwrap();
}
}
// ask for a token
let get_token = Login::new()
.ask_auth()
.set_host(Some(self.get_host()))
.send_login();
// todo deal with error cases
self.token = Some(get_token.unwrap());
if let Err(err) = gconfig::write_token(&self.token.clone().unwrap()) {