35 lines
1.1 KiB
Rust
35 lines
1.1 KiB
Rust
use peach_lib::sbot::{SbotConfig, SbotStatus};
|
|
use rocket::{get, State};
|
|
use rocket_dyn_templates::{tera::Context, Template};
|
|
|
|
use crate::routes::authentication::Authenticated;
|
|
use crate::RocketConfig;
|
|
|
|
// HELPERS AND ROUTES FOR /status/scuttlebutt
|
|
|
|
#[get("/scuttlebutt")]
|
|
pub fn scuttlebutt_status(_auth: Authenticated, config: &State<RocketConfig>) -> Template {
|
|
// retrieve go-sbot systemd process status
|
|
let sbot_status = SbotStatus::read().ok();
|
|
// retrieve go-sbot configuration parameters
|
|
let sbot_config = SbotConfig::read().ok();
|
|
|
|
let mut context = Context::new();
|
|
context.insert("sbot_status", &sbot_status);
|
|
context.insert("sbot_config", &sbot_config);
|
|
context.insert("flash_name", &None::<()>);
|
|
context.insert("flash_msg", &None::<()>);
|
|
context.insert("title", &Some("Scuttlebutt Status"));
|
|
|
|
// define back arrow url based on mode
|
|
if config.standalone_mode {
|
|
// return to home page
|
|
context.insert("back", &Some("/"));
|
|
} else {
|
|
// return to status menu
|
|
context.insert("back", &Some("/status"));
|
|
}
|
|
|
|
Template::render("status/scuttlebutt", &context.into_json())
|
|
}
|