Add support for 'getLatestImportTime'

This commit is contained in:
Dominic Grimm 2023-02-26 15:14:04 +01:00
parent e71c2ba4a2
commit 92cd3ccf97
No known key found for this signature in database
GPG key ID: 6F294212DEAAC530

View file

@ -696,6 +696,33 @@ impl Client {
} }
} }
pub async fn last_import_time(&self) -> Result<chrono::NaiveDateTime> {
let resp: RpcResponse<i64> = reqwest::Client::new()
.get(self.rpc_url.as_str())
.header(reqwest::header::USER_AGENT, &self.user_agent)
.header(reqwest::header::CONTENT_TYPE, "application/json")
.header(reqwest::header::ACCEPT, "application/json")
.json(&json!({
"id": "ID",
"method": "getLatestImportTime",
"jsonrpc": "2.0"
}))
.send()
.await?
.json()
.await?;
if let Some(e) = resp.error {
bail!("RPC error: {:?}", e);
}
if let Some(x) = resp.result {
Ok(chrono::NaiveDateTime::from_timestamp_opt(x, 0)
.context("Could not convert Unix timestamp to NaiveDateTime")?)
} else {
bail!("RPC result is null");
}
}
pub fn construct_bearer(auth: &str) -> String { pub fn construct_bearer(auth: &str) -> String {
format!("Bearer {}", auth) format!("Bearer {}", auth)
} }