store token
This commit is contained in:
@@ -35,7 +35,6 @@ impl ApiCall for Login {
|
||||
},
|
||||
None => "/ocs/v2.php/core/getapppassword".to_owned(),
|
||||
};
|
||||
dbg!(url.clone());
|
||||
self.api_builder.set_url(Method::GET, &url);
|
||||
self.api_builder.set_header("OCS-APIRequest", HeaderValue::from_str("true").unwrap());
|
||||
self.api_builder.set_basic_auth(self.login.clone(), self.password.clone());
|
||||
@@ -88,8 +87,8 @@ impl Login {
|
||||
return text.clone();
|
||||
}
|
||||
}
|
||||
Ok(XmlEvent::EndElement { name, .. }) => {
|
||||
}
|
||||
//Ok(XmlEvent::EndElement { name, .. }) => {
|
||||
//}
|
||||
Err(e) => {
|
||||
eprintln!("err: parsing xml: {}", e);
|
||||
break;
|
||||
|
||||
@@ -3,6 +3,7 @@ use std::sync::Mutex;
|
||||
|
||||
use crate::services::login::Login;
|
||||
use crate::commands::config;
|
||||
use crate::store::gconfig;
|
||||
use crate::commands::clone::get_url_props;
|
||||
use crate::services::api_call::ApiCall;
|
||||
|
||||
@@ -55,14 +56,24 @@ impl RequestManager {
|
||||
|
||||
pub fn get_token(&mut self) -> String {
|
||||
if self.token.is_none() {
|
||||
// todo check in config
|
||||
if let Some(token) = gconfig::read_token() {
|
||||
if !token.is_empty() {
|
||||
self.token = Some(token);
|
||||
return self.token.clone().unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
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()) {
|
||||
eprintln!("err: failed to write token ({})", err);
|
||||
}
|
||||
}
|
||||
|
||||
self.token.clone().unwrap()
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user