Unifieng data
This commit is contained in:
parent
0dc51af51c
commit
4ff103454e
7 changed files with 66 additions and 41 deletions
53
src/main.rs
53
src/main.rs
|
|
@ -3,7 +3,10 @@ use clap::Parser;
|
|||
use reqwest::blocking::Client;
|
||||
use std::result::Result::Ok;
|
||||
mod i18n;
|
||||
use i18n::{init_locales, t};
|
||||
use i18n::init_locales;
|
||||
|
||||
use crate::data::unify_data;
|
||||
mod data;
|
||||
mod heartbeat;
|
||||
mod status_page;
|
||||
|
||||
|
|
@ -22,16 +25,8 @@ fn main() -> Result<()> {
|
|||
let args = Args::parse();
|
||||
let base_url = args.base_url.trim_end_matches("/");
|
||||
|
||||
let heartbeat_url = format!(
|
||||
"{}/api/status-page/heartbeat/{}",
|
||||
base_url,
|
||||
args.slug
|
||||
);
|
||||
let status_page_url = format!(
|
||||
"{}/api/status-page/{}",
|
||||
base_url,
|
||||
args.slug
|
||||
);
|
||||
let heartbeat_url = format!("{}/api/status-page/heartbeat/{}", base_url, args.slug);
|
||||
let status_page_url = format!("{}/api/status-page/{}", base_url, args.slug);
|
||||
|
||||
let client = Client::new();
|
||||
|
||||
|
|
@ -39,30 +34,34 @@ fn main() -> Result<()> {
|
|||
|
||||
let heartbeat_response = client.get(heartbeat_url).send()?;
|
||||
|
||||
if heartbeat_response.status().is_success() {
|
||||
let heartbeat_data = if heartbeat_response.status().is_success() {
|
||||
let json_text = heartbeat_response.text()?;
|
||||
match heartbeat::parse_response(&json_text) {
|
||||
Ok(data) => println!("moises: {}", data.uptime_data[0].get_perc_formated()),
|
||||
Err(e) => println!("{}", e),
|
||||
}
|
||||
heartbeat::parse_response(&json_text)?
|
||||
} else {
|
||||
println!("{}", heartbeat_response.status());
|
||||
println!("{}: {}", t("Response"), heartbeat_response.text()?);
|
||||
}
|
||||
return Err(anyhow::anyhow!(heartbeat_response.status()));
|
||||
};
|
||||
|
||||
println!("Status Page URL: {}", status_page_url);
|
||||
|
||||
let status_page_response = client.get(status_page_url).send()?;
|
||||
|
||||
if status_page_response.status().is_success() {
|
||||
let status_page_data = if status_page_response.status().is_success() {
|
||||
let json_text = status_page_response.text()?;
|
||||
match status_page::parse_response(&json_text) {
|
||||
Ok(data) => println!("moises: {}", data.config.title),
|
||||
Err(e) => println!("{}", e),
|
||||
}
|
||||
status_page::parse_response(&json_text)?
|
||||
} else {
|
||||
println!("{}", status_page_response.status());
|
||||
println!("{}: {}", t("Response"), status_page_response.text()?);
|
||||
return Err(anyhow::anyhow!(status_page_response.status()));
|
||||
};
|
||||
|
||||
let unified_data = unify_data(&status_page_data, &heartbeat_data);
|
||||
|
||||
println!("Title: {}", unified_data.status_page_title);
|
||||
|
||||
for monitor in unified_data.monitors {
|
||||
println!("Monitor ID: {}", monitor.monitor_info.id);
|
||||
println!("Nome: {}", monitor.monitor_info.name);
|
||||
println!(
|
||||
"Uptime Service: {}",
|
||||
monitor.uptime_data.expect("Formgen?").get_perc_formated()
|
||||
);
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue