reorganise routes
This commit is contained in:
parent
c73287cc27
commit
8baf68715d
|
@ -1,7 +1,7 @@
|
|||
use log::debug;
|
||||
use rocket::{catch};
|
||||
use rocket_dyn_templates::Template;
|
||||
use rocket::catch;
|
||||
use rocket::response::Redirect;
|
||||
use rocket_dyn_templates::Template;
|
||||
use serde::Serialize;
|
||||
|
||||
// HELPERS AND ROUTES FOR 404 ERROR
|
||||
|
@ -34,7 +34,7 @@ pub fn not_found() -> Template {
|
|||
context.flash_name = Some("error".to_string());
|
||||
context.flash_msg = Some("No resource found for given URL".to_string());
|
||||
|
||||
Template::render("not_found", context)
|
||||
Template::render("catchers/not_found", context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR 500 ERROR
|
||||
|
@ -48,7 +48,7 @@ pub fn internal_error() -> Template {
|
|||
context.flash_name = Some("error".to_string());
|
||||
context.flash_msg = Some("Internal server error".to_string());
|
||||
|
||||
Template::render("internal_error", context)
|
||||
Template::render("catchers/internal_error", context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR 403 FORBIDDEN
|
||||
|
@ -57,4 +57,4 @@ pub fn internal_error() -> Template {
|
|||
pub fn forbidden() -> Redirect {
|
||||
debug!("403 Forbidden");
|
||||
Redirect::to("/login")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,13 +24,13 @@ impl HomeContext {
|
|||
}
|
||||
|
||||
#[get("/")]
|
||||
pub fn index(_auth: Authenticated) -> Template {
|
||||
pub fn home(_auth: Authenticated) -> Template {
|
||||
let context = HomeContext {
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
title: None,
|
||||
};
|
||||
Template::render("index", &context)
|
||||
Template::render("home", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /help
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
pub mod authentication;
|
||||
pub mod device;
|
||||
pub mod catchers;
|
||||
pub mod index;
|
||||
pub mod ping;
|
||||
pub mod scuttlebutt;
|
||||
pub mod settings;
|
||||
pub mod settings;
|
||||
pub mod status;
|
||||
|
|
|
@ -45,7 +45,7 @@ pub fn private(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("messages", &context)
|
||||
Template::render("scuttlebutt/messages", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /peers
|
||||
|
@ -81,7 +81,7 @@ pub fn peers(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("peers", &context)
|
||||
Template::render("scuttlebutt/peers", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /post/publish
|
||||
|
@ -209,7 +209,7 @@ pub fn profile(
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("profile", &context)
|
||||
Template::render("scuttlebutt/profile", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /friends
|
||||
|
@ -247,7 +247,7 @@ pub fn friends(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("peers_list", &context)
|
||||
Template::render("scuttlebutt/peers_list", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /follows
|
||||
|
@ -285,7 +285,7 @@ pub fn follows(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("peers_list", &context)
|
||||
Template::render("scuttlebutt/peers_list", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /followers
|
||||
|
@ -323,7 +323,7 @@ pub fn followers(flash: Option<FlashMessage>, _auth: Authenticated) -> Template
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("peers_list", &context)
|
||||
Template::render("scuttlebutt/peers_list", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /blocks
|
||||
|
@ -361,5 +361,5 @@ pub fn blocks(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("peers_list", &context)
|
||||
Template::render("scuttlebutt/peers_list", &context)
|
||||
}
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
use rocket::serde::{Deserialize, Serialize};
|
||||
use rocket::{
|
||||
form::{Form, FromForm},
|
||||
get, post,
|
||||
request::FlashMessage,
|
||||
form::{Form, FromForm},
|
||||
response::{Flash, Redirect},
|
||||
uri,
|
||||
};
|
||||
use rocket_dyn_templates::Template;
|
||||
use rocket::serde::{Deserialize, Serialize};
|
||||
|
||||
use peach_lib::config_manager;
|
||||
use peach_lib::config_manager::load_peach_config;
|
||||
|
@ -39,12 +39,12 @@ impl ConfigureAdminContext {
|
|||
}
|
||||
}
|
||||
|
||||
/// View and delete currently configured admin.
|
||||
#[get("/settings/configure_admin")]
|
||||
/// Administrator settings menu. View and delete currently configured admin.
|
||||
#[get("/")]
|
||||
pub fn configure_admin(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = ConfigureAdminContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/network".to_string());
|
||||
// set back icon link to settings route
|
||||
context.back = Some("/settings".to_string());
|
||||
context.title = Some("Configure Admin".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
|
@ -83,14 +83,14 @@ impl AddAdminContext {
|
|||
|
||||
pub fn save_add_admin_form(admin_form: AddAdminForm) -> Result<(), PeachWebError> {
|
||||
let _result = config_manager::add_ssb_admin_id(&admin_form.ssb_id)?;
|
||||
// if the previous line didn't throw an error then it was a success
|
||||
// if the previous line didn't throw an error then it was a success
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[get("/settings/admin/add")]
|
||||
#[get("/add")]
|
||||
pub fn add_admin(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = AddAdminContext::build();
|
||||
context.back = Some("/settings/configure_admin".to_string());
|
||||
context.back = Some("/settings/admin".to_string());
|
||||
context.title = Some("Add Admin".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
|
@ -102,7 +102,7 @@ pub fn add_admin(flash: Option<FlashMessage>, _auth: Authenticated) -> Template
|
|||
Template::render("admin/add_admin", &context)
|
||||
}
|
||||
|
||||
#[post("/settings/admin/add", data = "<add_admin_form>")]
|
||||
#[post("/add", data = "<add_admin_form>")]
|
||||
pub fn add_admin_post(add_admin_form: Form<AddAdminForm>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
let result = save_add_admin_form(add_admin_form.into_inner());
|
||||
let url = uri!(configure_admin);
|
||||
|
@ -119,8 +119,11 @@ pub struct DeleteAdminForm {
|
|||
pub ssb_id: String,
|
||||
}
|
||||
|
||||
#[post("/settings/admin/delete", data = "<delete_admin_form>")]
|
||||
pub fn delete_admin_post(delete_admin_form: Form<DeleteAdminForm>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
#[post("/delete", data = "<delete_admin_form>")]
|
||||
pub fn delete_admin_post(
|
||||
delete_admin_form: Form<DeleteAdminForm>,
|
||||
_auth: Authenticated,
|
||||
) -> Flash<Redirect> {
|
||||
let result = config_manager::delete_ssb_admin_id(&delete_admin_form.ssb_id);
|
||||
let url = uri!(configure_admin);
|
||||
match result {
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
use log::info;
|
||||
use rocket::{
|
||||
form::{Form, FromForm},
|
||||
get, post,
|
||||
request::FlashMessage,
|
||||
form::{Form, FromForm}
|
||||
serde::{
|
||||
json::{Json, Value},
|
||||
Deserialize, Serialize,
|
||||
},
|
||||
};
|
||||
use rocket::serde::json::Json;
|
||||
use rocket_dyn_templates::Template;
|
||||
use rocket::serde::{Deserialize, Serialize};
|
||||
|
||||
use peach_lib::config_manager;
|
||||
use peach_lib::config_manager::load_peach_config;
|
||||
|
@ -22,7 +24,6 @@ use peach_lib::jsonrpc_core::types::error::ErrorCode;
|
|||
use crate::error::PeachWebError;
|
||||
use crate::routes::authentication::Authenticated;
|
||||
use crate::utils::build_json_response;
|
||||
use rocket::serde::json::Value;
|
||||
|
||||
#[derive(Debug, Deserialize, FromForm)]
|
||||
pub struct DnsForm {
|
||||
|
@ -113,11 +114,11 @@ impl ConfigureDNSContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network/dns")]
|
||||
#[get("/dns")]
|
||||
pub fn configure_dns(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = ConfigureDNSContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.title = Some("Configure DNS".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
|
@ -125,35 +126,35 @@ pub fn configure_dns(flash: Option<FlashMessage>, _auth: Authenticated) -> Templ
|
|||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("configure_dns", &context)
|
||||
Template::render("settings/network/configure_dns", &context)
|
||||
}
|
||||
|
||||
#[post("/network/dns", data = "<dns>")]
|
||||
#[post("/dns", data = "<dns>")]
|
||||
pub fn configure_dns_post(dns: Form<DnsForm>, _auth: Authenticated) -> Template {
|
||||
let result = save_dns_configuration(dns.into_inner());
|
||||
match result {
|
||||
Ok(_) => {
|
||||
let mut context = ConfigureDNSContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.title = Some("Configure DNS".to_string());
|
||||
context.flash_name = Some("success".to_string());
|
||||
context.flash_msg = Some("New dynamic dns configuration is now enabled".to_string());
|
||||
Template::render("configure_dns", &context)
|
||||
Template::render("settings/network/configure_dns", &context)
|
||||
}
|
||||
Err(err) => {
|
||||
let mut context = ConfigureDNSContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.title = Some("Configure DNS".to_string());
|
||||
context.flash_name = Some("error".to_string());
|
||||
context.flash_msg = Some(format!("Failed to save dns configurations: {}", err));
|
||||
Template::render("configure_dns", &context)
|
||||
Template::render("settings/network/configure_dns", &context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/dns/configure", data = "<dns_form>")]
|
||||
#[post("/dns/configure", data = "<dns_form>")]
|
||||
pub fn save_dns_configuration_endpoint(dns_form: Json<DnsForm>, _auth: Authenticated) -> Value {
|
||||
let result = save_dns_configuration(dns_form.into_inner());
|
||||
match result {
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
use rocket::{get, request::FlashMessage, serde::Serialize};
|
||||
use rocket_dyn_templates::Template;
|
||||
|
||||
use crate::routes::authentication::Authenticated;
|
||||
|
||||
// HELPERS AND ROUTES FOR /settings
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct SettingsMenuContext {
|
||||
pub back: Option<String>,
|
||||
pub title: Option<String>,
|
||||
pub flash_name: Option<String>,
|
||||
pub flash_msg: Option<String>,
|
||||
}
|
||||
|
||||
impl SettingsMenuContext {
|
||||
pub fn build() -> SettingsMenuContext {
|
||||
SettingsMenuContext {
|
||||
back: None,
|
||||
title: None,
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// View and delete currently configured admin.
|
||||
#[get("/settings")]
|
||||
pub fn settings_menu(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = SettingsMenuContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/".to_string());
|
||||
context.title = Some("Settings".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
// add flash message contents to the context object
|
||||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("settings/menu", &context)
|
||||
}
|
|
@ -1,3 +1,4 @@
|
|||
pub mod admin;
|
||||
pub mod dns;
|
||||
pub mod network;
|
||||
pub mod menu;
|
||||
pub mod network;
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
use log::{debug, warn};
|
||||
|
||||
use rocket::{
|
||||
get,
|
||||
post,
|
||||
request::FlashMessage,
|
||||
form::{Form, FromForm},
|
||||
get, post,
|
||||
request::FlashMessage,
|
||||
response::{Flash, Redirect},
|
||||
serde::{
|
||||
json::{json, Json, Value},
|
||||
Deserialize, Serialize,
|
||||
},
|
||||
uri, UriDisplayQuery,
|
||||
};
|
||||
use rocket::serde::json::{json, Json};
|
||||
use rocket_dyn_templates::Template;
|
||||
use rocket::serde::{Deserialize, Serialize};
|
||||
use std::collections::HashMap;
|
||||
|
||||
use peach_lib::network_client;
|
||||
use peach_lib::network_client::{AccessPoint, Networks, Scan};
|
||||
use peach_lib::stats_client::Traffic;
|
||||
|
||||
use crate::routes::authentication::Authenticated;
|
||||
use crate::utils::build_json_response;
|
||||
use crate::utils::monitor;
|
||||
use crate::utils::monitor::{Alert, Data, Threshold};
|
||||
use crate::utils::build_json_response;
|
||||
use crate::routes::authentication::Authenticated;
|
||||
use rocket::serde::json::Value;
|
||||
|
||||
// STRUCTS USED BY NETWORK ROUTES
|
||||
|
||||
|
@ -36,9 +36,9 @@ pub struct WiFi {
|
|||
pub pass: String,
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network/wifi/usage/reset
|
||||
// HELPERS AND ROUTES FOR /settings/network/wifi/usage/reset
|
||||
|
||||
#[get("/network/wifi/usage/reset")]
|
||||
#[get("/wifi/usage/reset")]
|
||||
pub fn wifi_usage_reset(_auth: Authenticated) -> Flash<Redirect> {
|
||||
let url = uri!(wifi_usage);
|
||||
match monitor::reset_data() {
|
||||
|
@ -50,7 +50,7 @@ pub fn wifi_usage_reset(_auth: Authenticated) -> Flash<Redirect> {
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/network/wifi/connect", data = "<network>")]
|
||||
#[post("/wifi/connect", data = "<network>")]
|
||||
pub fn connect_wifi(network: Form<Ssid>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
let ssid = &network.ssid;
|
||||
let url = uri!(network_detail(ssid = ssid));
|
||||
|
@ -63,7 +63,7 @@ pub fn connect_wifi(network: Form<Ssid>, _auth: Authenticated) -> Flash<Redirect
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/network/wifi/disconnect", data = "<network>")]
|
||||
#[post("/wifi/disconnect", data = "<network>")]
|
||||
pub fn disconnect_wifi(network: Form<Ssid>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
let ssid = &network.ssid;
|
||||
let url = uri!(network_home);
|
||||
|
@ -73,7 +73,7 @@ pub fn disconnect_wifi(network: Form<Ssid>, _auth: Authenticated) -> Flash<Redir
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/network/wifi/forget", data = "<network>")]
|
||||
#[post("/wifi/forget", data = "<network>")]
|
||||
pub fn forget_wifi(network: Form<Ssid>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
let ssid = &network.ssid;
|
||||
let url = uri!(network_home);
|
||||
|
@ -86,10 +86,10 @@ pub fn forget_wifi(network: Form<Ssid>, _auth: Authenticated) -> Flash<Redirect>
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network/wifi/modify?<ssid>")]
|
||||
#[get("/wifi/modify?<ssid>")]
|
||||
pub fn wifi_password(ssid: &str, flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = NetworkAddContext {
|
||||
back: Some("/network/wifi".to_string()),
|
||||
back: Some("/settings/network/wifi".to_string()),
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
selected: Some(ssid.to_string()),
|
||||
|
@ -102,10 +102,10 @@ pub fn wifi_password(ssid: &str, flash: Option<FlashMessage>, _auth: Authenticat
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_modify", &context)
|
||||
Template::render("settings/network/network_modify", &context)
|
||||
}
|
||||
|
||||
#[post("/network/wifi/modify", data = "<wifi>")]
|
||||
#[post("/wifi/modify", data = "<wifi>")]
|
||||
pub fn wifi_set_password(wifi: Form<WiFi>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
let ssid = &wifi.ssid;
|
||||
let pass = &wifi.pass;
|
||||
|
@ -119,7 +119,7 @@ pub fn wifi_set_password(wifi: Form<WiFi>, _auth: Authenticated) -> Flash<Redire
|
|||
}
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network
|
||||
// HELPERS AND ROUTES FOR /settings/network
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct NetworkContext {
|
||||
|
@ -273,12 +273,12 @@ impl NetworkContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network")]
|
||||
#[get("/")]
|
||||
pub fn network_home(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
// assign context through context_builder call
|
||||
let mut context = NetworkContext::build();
|
||||
// set back button (nav) url
|
||||
context.back = Some("/".to_string());
|
||||
context.back = Some("/settings".to_string());
|
||||
// set page title
|
||||
context.title = Some("Network Configuration".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
|
@ -288,25 +288,28 @@ pub fn network_home(flash: Option<FlashMessage>, _auth: Authenticated) -> Templa
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_card", &context)
|
||||
Template::render("settings/network/network_card", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network/ap/activate
|
||||
// HELPERS AND ROUTES FOR /settings/network/ap/activate
|
||||
|
||||
#[get("/network/ap/activate")]
|
||||
#[get("/ap/activate")]
|
||||
pub fn deploy_ap(_auth: Authenticated) -> Flash<Redirect> {
|
||||
// activate the wireless access point
|
||||
debug!("Activating WiFi access point.");
|
||||
match network_client::activate_ap() {
|
||||
Ok(_) => Flash::success(Redirect::to("/network"), "Activated WiFi access point"),
|
||||
Ok(_) => Flash::success(
|
||||
Redirect::to("/settings/network"),
|
||||
"Activated WiFi access point",
|
||||
),
|
||||
Err(_) => Flash::error(
|
||||
Redirect::to("/network"),
|
||||
Redirect::to("/settings/network"),
|
||||
"Failed to activate WiFi access point",
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network/wifi
|
||||
// HELPERS AND ROUTES FOR /settings/network/wifi
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct NetworkListContext {
|
||||
|
@ -375,11 +378,11 @@ impl NetworkListContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network/wifi")]
|
||||
#[get("/wifi")]
|
||||
pub fn wifi_list(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
// assign context through context_builder call
|
||||
let mut context = NetworkListContext::build();
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.title = Some("WiFi Networks".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
|
@ -388,10 +391,10 @@ pub fn wifi_list(flash: Option<FlashMessage>, _auth: Authenticated) -> Template
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_list", &context)
|
||||
Template::render("settings/network/network_list", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network/wifi<ssid>
|
||||
// HELPERS AND ROUTES FOR /settings/network/wifi<ssid>
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct NetworkDetailContext {
|
||||
|
@ -540,11 +543,11 @@ impl NetworkDetailContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network/wifi?<ssid>")]
|
||||
#[get("/wifi?<ssid>")]
|
||||
pub fn network_detail(ssid: &str, flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
// assign context through context_builder call
|
||||
let mut context = NetworkDetailContext::build();
|
||||
context.back = Some("/network/wifi".to_string());
|
||||
context.back = Some("/settings/network/wifi".to_string());
|
||||
context.title = Some("WiFi Network".to_string());
|
||||
context.selected = Some(ssid.to_string());
|
||||
// check to see if there is a flash message to display
|
||||
|
@ -554,28 +557,31 @@ pub fn network_detail(ssid: &str, flash: Option<FlashMessage>, _auth: Authentica
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_detail", &context)
|
||||
Template::render("settings/network/network_detail", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network/wifi/activate
|
||||
// HELPERS AND ROUTES FOR /settings/network/wifi/activate
|
||||
|
||||
#[get("/network/wifi/activate")]
|
||||
#[get("/wifi/activate")]
|
||||
pub fn deploy_client(_auth: Authenticated) -> Flash<Redirect> {
|
||||
// activate the wireless client
|
||||
debug!("Activating WiFi client mode.");
|
||||
match network_client::activate_client() {
|
||||
Ok(_) => Flash::success(Redirect::to("/network"), "Activated WiFi client"),
|
||||
Err(_) => Flash::error(Redirect::to("/network"), "Failed to activate WiFi client"),
|
||||
Ok(_) => Flash::success(Redirect::to("/settings/network"), "Activated WiFi client"),
|
||||
Err(_) => Flash::error(
|
||||
Redirect::to("/settings/network"),
|
||||
"Failed to activate WiFi client",
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /network/wifi/add
|
||||
// HELPERS AND ROUTES FOR /settings/network/wifi/add
|
||||
|
||||
#[get("/network/wifi/add")]
|
||||
pub fn network_add_wifi(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
#[get("/wifi/add")]
|
||||
pub fn add_wifi(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = NetworkContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.title = Some("Add WiFi Network".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
|
@ -584,10 +590,10 @@ pub fn network_add_wifi(flash: Option<FlashMessage>, _auth: Authenticated) -> Te
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_add", &context)
|
||||
Template::render("settings/network/network_add", &context)
|
||||
}
|
||||
|
||||
// used in /network/wifi/add?<ssid>
|
||||
// used in /settings/network/wifi/add?<ssid>
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct NetworkAddContext {
|
||||
pub back: Option<String>,
|
||||
|
@ -609,10 +615,10 @@ impl NetworkAddContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network/wifi/add?<ssid>")]
|
||||
pub fn network_add_ssid(ssid: &str, flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
#[get("/wifi/add?<ssid>")]
|
||||
pub fn add_ssid(ssid: &str, flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = NetworkAddContext::build();
|
||||
context.back = Some("/network/wifi".to_string());
|
||||
context.back = Some("/settings/network/wifi".to_string());
|
||||
context.selected = Some(ssid.to_string());
|
||||
context.title = Some("Add WiFi Network".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
|
@ -622,10 +628,10 @@ pub fn network_add_ssid(ssid: &str, flash: Option<FlashMessage>, _auth: Authenti
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_add", &context)
|
||||
Template::render("settings/network/network_add", &context)
|
||||
}
|
||||
|
||||
#[post("/network/wifi/add", data = "<wifi>")]
|
||||
#[post("/wifi/add", data = "<wifi>")]
|
||||
pub fn add_credentials(wifi: Form<WiFi>, _auth: Authenticated) -> Template {
|
||||
// check if the credentials already exist for this access point
|
||||
// note: this is nicer but it's an unstable feature:
|
||||
|
@ -634,13 +640,13 @@ pub fn add_credentials(wifi: Form<WiFi>, _auth: Authenticated) -> Template {
|
|||
let creds_exist = network_client::saved_ap(&wifi.ssid).unwrap_or(false);
|
||||
if creds_exist {
|
||||
let mut context = NetworkAddContext::build();
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.flash_name = Some("error".to_string());
|
||||
context.flash_msg =
|
||||
Some("Network credentials already exist for this access point".to_string());
|
||||
context.title = Some("Add WiFi Network".to_string());
|
||||
// return early from handler with "creds already exist" message
|
||||
return Template::render("network_add", &context);
|
||||
return Template::render("settings/network/network_add", &context);
|
||||
};
|
||||
|
||||
// if credentials not found, generate and write wifi config to wpa_supplicant
|
||||
|
@ -653,20 +659,20 @@ pub fn add_credentials(wifi: Form<WiFi>, _auth: Authenticated) -> Template {
|
|||
Err(_) => warn!("Failed to reconfigure wpa_supplicant"),
|
||||
}
|
||||
let mut context = NetworkAddContext::build();
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.flash_name = Some("success".to_string());
|
||||
context.flash_msg = Some("Added WiFi credentials".to_string());
|
||||
context.title = Some("Add WiFi Network".to_string());
|
||||
Template::render("network_add", &context)
|
||||
Template::render("settings/network/network_add", &context)
|
||||
}
|
||||
Err(_) => {
|
||||
debug!("Failed to add WiFi credentials.");
|
||||
let mut context = NetworkAddContext::build();
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.flash_name = Some("error".to_string());
|
||||
context.flash_msg = Some("Failed to add WiFi credentials".to_string());
|
||||
context.title = Some("Add WiFi Network".to_string());
|
||||
Template::render("network_add", &context)
|
||||
Template::render("settings/network/network_add", &context)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -719,11 +725,11 @@ impl NetworkAlertContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/network/wifi/usage")]
|
||||
#[get("/wifi/usage")]
|
||||
pub fn wifi_usage(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = NetworkAlertContext::build();
|
||||
// set back icon link to network route
|
||||
context.back = Some("/network".to_string());
|
||||
context.back = Some("/settings/network".to_string());
|
||||
context.title = Some("Network Data Usage".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
|
@ -732,30 +738,32 @@ pub fn wifi_usage(flash: Option<FlashMessage>, _auth: Authenticated) -> Template
|
|||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
// template_dir is set in Rocket.toml
|
||||
Template::render("network_usage", &context)
|
||||
Template::render("settings/network/network_usage", &context)
|
||||
}
|
||||
|
||||
#[post("/network/wifi/usage", data = "<thresholds>")]
|
||||
#[post("/wifi/usage", data = "<thresholds>")]
|
||||
pub fn wifi_usage_alerts(thresholds: Form<Threshold>, _auth: Authenticated) -> Flash<Redirect> {
|
||||
match monitor::update_store(thresholds.into_inner()) {
|
||||
Ok(_) => {
|
||||
debug!("WiFi data usage thresholds updated.");
|
||||
Flash::success(
|
||||
Redirect::to("/network/wifi/usage"),
|
||||
Redirect::to("/settings/network/wifi/usage"),
|
||||
"Updated alert thresholds and flags",
|
||||
)
|
||||
}
|
||||
Err(_) => {
|
||||
warn!("Failed to update WiFi data usage thresholds.");
|
||||
Flash::error(
|
||||
Redirect::to("/network/wifi/usage"),
|
||||
Redirect::to("/settings/network/wifi/usage"),
|
||||
"Failed to update alert thresholds and flags",
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi/usage", data = "<thresholds>")]
|
||||
// JSON ROUTES FOR NETWORK SETTINGS
|
||||
|
||||
#[post("/wifi/usage", data = "<thresholds>")]
|
||||
pub fn update_wifi_alerts(thresholds: Json<Threshold>, _auth: Authenticated) -> Value {
|
||||
match monitor::update_store(thresholds.into_inner()) {
|
||||
Ok(_) => {
|
||||
|
@ -773,7 +781,7 @@ pub fn update_wifi_alerts(thresholds: Json<Threshold>, _auth: Authenticated) ->
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi/usage/reset")]
|
||||
#[post("/wifi/usage/reset")]
|
||||
pub fn reset_data_total(_auth: Authenticated) -> Value {
|
||||
match monitor::reset_data() {
|
||||
Ok(_) => {
|
||||
|
@ -805,7 +813,7 @@ pub fn reset_data_total(_auth: Authenticated) -> Value {
|
|||
|
||||
// HELPERS AND ROUTES FOR ACCESS POINT ACTIVATION
|
||||
|
||||
#[post("/api/v1/network/activate_ap")]
|
||||
#[post("/activate_ap")]
|
||||
pub fn activate_ap(_auth: Authenticated) -> Value {
|
||||
// activate the wireless access point
|
||||
debug!("Activating WiFi access point.");
|
||||
|
@ -824,7 +832,7 @@ pub fn activate_ap(_auth: Authenticated) -> Value {
|
|||
|
||||
// HELPERS AND ROUTES FOR WIFI CLIENT MANAGEMENT
|
||||
|
||||
#[post("/api/v1/network/activate_client")]
|
||||
#[post("/activate_client")]
|
||||
pub fn activate_client(_auth: Authenticated) -> Value {
|
||||
// activate the wireless client
|
||||
debug!("Activating WiFi client mode.");
|
||||
|
@ -841,8 +849,8 @@ pub fn activate_client(_auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi", data = "<wifi>")]
|
||||
pub fn add_wifi(wifi: Json<WiFi>, _auth: Authenticated) -> Value {
|
||||
#[post("/wifi", data = "<wifi>")]
|
||||
pub fn add_wifi_credentials(wifi: Json<WiFi>, _auth: Authenticated) -> Value {
|
||||
// generate and write wifi config to wpa_supplicant
|
||||
match network_client::add(&wifi.ssid, &wifi.pass) {
|
||||
Ok(_) => {
|
||||
|
@ -867,7 +875,7 @@ pub fn add_wifi(wifi: Json<WiFi>, _auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi/connect", data = "<ssid>")]
|
||||
#[post("/wifi/connect", data = "<ssid>")]
|
||||
pub fn connect_ap(ssid: Json<Ssid>, _auth: Authenticated) -> Value {
|
||||
// retrieve the id for the given network ssid
|
||||
match network_client::id("wlan0", &ssid.ssid) {
|
||||
|
@ -892,7 +900,7 @@ pub fn connect_ap(ssid: Json<Ssid>, _auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi/disconnect", data = "<ssid>")]
|
||||
#[post("/wifi/disconnect", data = "<ssid>")]
|
||||
pub fn disconnect_ap(ssid: Json<Ssid>, _auth: Authenticated) -> Value {
|
||||
// attempt to disable the current network for wlan0 interface
|
||||
match network_client::disable("wlan0", &ssid.ssid) {
|
||||
|
@ -909,7 +917,7 @@ pub fn disconnect_ap(ssid: Json<Ssid>, _auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi/forget", data = "<network>")]
|
||||
#[post("/wifi/forget", data = "<network>")]
|
||||
pub fn forget_ap(network: Json<Ssid>, _auth: Authenticated) -> Value {
|
||||
let ssid = &network.ssid;
|
||||
match network_client::forget("wlan0", ssid) {
|
||||
|
@ -928,7 +936,7 @@ pub fn forget_ap(network: Json<Ssid>, _auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[post("/api/v1/network/wifi/modify", data = "<wifi>")]
|
||||
#[post("/wifi/modify", data = "<wifi>")]
|
||||
pub fn modify_password(wifi: Json<WiFi>, _auth: Authenticated) -> Value {
|
||||
let ssid = &wifi.ssid;
|
||||
let pass = &wifi.pass;
|
||||
|
@ -953,7 +961,7 @@ pub fn modify_password(wifi: Json<WiFi>, _auth: Authenticated) -> Value {
|
|||
|
||||
// HELPERS AND ROUTES FOR NETWORK STATE QUERIES
|
||||
|
||||
#[get("/api/v1/network/ip")]
|
||||
#[get("/ip")]
|
||||
pub fn return_ip(_auth: Authenticated) -> Value {
|
||||
// retrieve ip for wlan0 or set to x.x.x.x if not found
|
||||
let wlan_ip = match network_client::ip("wlan0") {
|
||||
|
@ -973,7 +981,7 @@ pub fn return_ip(_auth: Authenticated) -> Value {
|
|||
build_json_response(status, Some(data), None)
|
||||
}
|
||||
|
||||
#[get("/api/v1/network/rssi")]
|
||||
#[get("/rssi")]
|
||||
pub fn return_rssi(_auth: Authenticated) -> Value {
|
||||
// retrieve rssi for connected network
|
||||
match network_client::rssi("wlan0") {
|
||||
|
@ -990,7 +998,7 @@ pub fn return_rssi(_auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/api/v1/network/ssid")]
|
||||
#[get("/ssid")]
|
||||
pub fn return_ssid(_auth: Authenticated) -> Value {
|
||||
// retrieve ssid for connected network
|
||||
match network_client::ssid("wlan0") {
|
||||
|
@ -1007,7 +1015,7 @@ pub fn return_ssid(_auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/api/v1/network/state")]
|
||||
#[get("/state")]
|
||||
pub fn return_state(_auth: Authenticated) -> Value {
|
||||
// retrieve state of wlan0 or set to x.x.x.x if not found
|
||||
let wlan_state = match network_client::state("wlan0") {
|
||||
|
@ -1027,7 +1035,7 @@ pub fn return_state(_auth: Authenticated) -> Value {
|
|||
build_json_response(status, Some(data), None)
|
||||
}
|
||||
|
||||
#[get("/api/v1/network/status")]
|
||||
#[get("/status")]
|
||||
pub fn return_status(_auth: Authenticated) -> Value {
|
||||
// retrieve status info for wlan0 interface
|
||||
match network_client::status("wlan0") {
|
||||
|
@ -1044,7 +1052,7 @@ pub fn return_status(_auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/api/v1/network/wifi")]
|
||||
#[get("/wifi")]
|
||||
pub fn scan_networks(_auth: Authenticated) -> Value {
|
||||
// retrieve scan results for access-points within range of wlan0
|
||||
match network_client::available_networks("wlan0") {
|
||||
|
|
|
@ -16,15 +16,15 @@ use peach_lib::config_manager::load_peach_config;
|
|||
use peach_lib::stats_client::{CpuStatPercentages, DiskUsage, LoadAverage, MemStat};
|
||||
use peach_lib::{dyndns_client, network_client, oled_client, sbot_client, stats_client};
|
||||
|
||||
use crate::utils::build_json_response;
|
||||
use crate::routes::authentication::Authenticated;
|
||||
use crate::utils::build_json_response;
|
||||
use rocket::serde::json::Value;
|
||||
|
||||
// HELPERS AND ROUTES FOR /device
|
||||
// HELPERS AND ROUTES FOR /status
|
||||
|
||||
/// System statistics data.
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct DeviceContext {
|
||||
pub struct StatusContext {
|
||||
pub back: Option<String>,
|
||||
pub cpu_stat_percent: Option<CpuStatPercentages>,
|
||||
pub disk_stats: Vec<DiskUsage>,
|
||||
|
@ -43,8 +43,8 @@ pub struct DeviceContext {
|
|||
pub uptime: Option<i32>,
|
||||
}
|
||||
|
||||
impl DeviceContext {
|
||||
pub fn build() -> DeviceContext {
|
||||
impl StatusContext {
|
||||
pub fn build() -> StatusContext {
|
||||
// convert result to Option<CpuStatPercentages>, discard any error
|
||||
let cpu_stat_percent = stats_client::cpu_stats_percent().ok();
|
||||
let load_average = stats_client::load_average().ok();
|
||||
|
@ -129,7 +129,7 @@ impl DeviceContext {
|
|||
}
|
||||
}
|
||||
|
||||
DeviceContext {
|
||||
StatusContext {
|
||||
back: None,
|
||||
cpu_stat_percent,
|
||||
disk_stats,
|
||||
|
@ -150,10 +150,10 @@ impl DeviceContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/device")]
|
||||
pub fn device_stats(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
#[get("/status")]
|
||||
pub fn device_status(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
// assign context through context_builder call
|
||||
let mut context = DeviceContext::build();
|
||||
let mut context = StatusContext::build();
|
||||
context.back = Some("/".to_string());
|
||||
context.title = Some("Device Status".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
|
@ -166,7 +166,7 @@ pub fn device_stats(flash: Option<FlashMessage>, _auth: Authenticated) -> Templa
|
|||
Template::render("device", &context)
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /device/reboot
|
||||
// HELPERS AND ROUTES FOR /power/reboot
|
||||
|
||||
/// Executes a system command to reboot the device immediately.
|
||||
pub fn reboot() -> io::Result<Output> {
|
||||
|
@ -181,16 +181,16 @@ pub fn reboot() -> io::Result<Output> {
|
|||
.output()
|
||||
}
|
||||
|
||||
#[get("/device/reboot")]
|
||||
#[get("/power/reboot")]
|
||||
pub fn reboot_cmd(_auth: Authenticated) -> Flash<Redirect> {
|
||||
match reboot() {
|
||||
Ok(_) => Flash::success(Redirect::to("/shutdown"), "Rebooting the device"),
|
||||
Err(_) => Flash::error(Redirect::to("/shutdown"), "Failed to reboot the device"),
|
||||
Ok(_) => Flash::success(Redirect::to("/power"), "Rebooting the device"),
|
||||
Err(_) => Flash::error(Redirect::to("/power"), "Failed to reboot the device"),
|
||||
}
|
||||
}
|
||||
|
||||
/// JSON request handler for device reboot.
|
||||
#[post("/api/v1/device/reboot")]
|
||||
#[post("/api/v1/admin/reboot")]
|
||||
pub fn reboot_device(_auth: Authenticated) -> Value {
|
||||
match reboot() {
|
||||
Ok(_) => {
|
||||
|
@ -208,7 +208,7 @@ pub fn reboot_device(_auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /device/shutdown
|
||||
// HELPERS AND ROUTES FOR /power/shutdown
|
||||
|
||||
/// Executes a system command to shutdown the device immediately.
|
||||
pub fn shutdown() -> io::Result<Output> {
|
||||
|
@ -219,16 +219,16 @@ pub fn shutdown() -> io::Result<Output> {
|
|||
Command::new("sudo").arg("shutdown").arg("now").output()
|
||||
}
|
||||
|
||||
#[get("/device/shutdown")]
|
||||
#[get("/power/shutdown")]
|
||||
pub fn shutdown_cmd(_auth: Authenticated) -> Flash<Redirect> {
|
||||
match shutdown() {
|
||||
Ok(_) => Flash::success(Redirect::to("/shutdown"), "Shutting down the device"),
|
||||
Err(_) => Flash::error(Redirect::to("/shutdown"), "Failed to shutdown the device"),
|
||||
Ok(_) => Flash::success(Redirect::to("/power"), "Shutting down the device"),
|
||||
Err(_) => Flash::error(Redirect::to("/power"), "Failed to shutdown the device"),
|
||||
}
|
||||
}
|
||||
|
||||
// shutdown the device
|
||||
#[post("/api/v1/device/shutdown")]
|
||||
#[post("/power/shutdown")]
|
||||
pub fn shutdown_device(_auth: Authenticated) -> Value {
|
||||
match shutdown() {
|
||||
Ok(_) => {
|
||||
|
@ -246,19 +246,19 @@ pub fn shutdown_device(_auth: Authenticated) -> Value {
|
|||
}
|
||||
}
|
||||
|
||||
// HELPERS AND ROUTES FOR /shutdown
|
||||
// HELPERS AND ROUTES FOR /power
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct ShutdownContext {
|
||||
pub struct PowerContext {
|
||||
pub back: Option<String>,
|
||||
pub flash_name: Option<String>,
|
||||
pub flash_msg: Option<String>,
|
||||
pub title: Option<String>,
|
||||
}
|
||||
|
||||
impl ShutdownContext {
|
||||
pub fn build() -> ShutdownContext {
|
||||
ShutdownContext {
|
||||
impl PowerContext {
|
||||
pub fn build() -> PowerContext {
|
||||
PowerContext {
|
||||
back: None,
|
||||
flash_name: None,
|
||||
flash_msg: None,
|
||||
|
@ -267,16 +267,16 @@ impl ShutdownContext {
|
|||
}
|
||||
}
|
||||
|
||||
#[get("/shutdown")]
|
||||
pub fn shutdown_menu(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = ShutdownContext::build();
|
||||
#[get("/power")]
|
||||
pub fn power_menu(flash: Option<FlashMessage>, _auth: Authenticated) -> Template {
|
||||
let mut context = PowerContext::build();
|
||||
context.back = Some("/".to_string());
|
||||
context.title = Some("Shutdown Device".to_string());
|
||||
context.title = Some("Power Menu".to_string());
|
||||
// check to see if there is a flash message to display
|
||||
if let Some(flash) = flash {
|
||||
// add flash message contents to the context object
|
||||
context.flash_name = Some(flash.kind().to_string());
|
||||
context.flash_msg = Some(flash.message().to_string());
|
||||
};
|
||||
Template::render("shutdown", &context)
|
||||
Template::render("power", &context)
|
||||
}
|
|
@ -0,0 +1,2 @@
|
|||
pub mod device;
|
||||
pub mod ping;
|
|
@ -1,19 +1,19 @@
|
|||
//! Helper routes for pinging services to check that they are active
|
||||
use log::{debug, warn};
|
||||
use rocket::get;
|
||||
use rocket::serde::json::{Value};
|
||||
use rocket::serde::json::Value;
|
||||
|
||||
use peach_lib::network_client;
|
||||
use peach_lib::oled_client;
|
||||
use peach_lib::stats_client;
|
||||
|
||||
use crate::utils::build_json_response;
|
||||
use crate::routes::authentication::Authenticated;
|
||||
use crate::utils::build_json_response;
|
||||
|
||||
/// Status route: useful for checking connectivity from web client.
|
||||
#[get("/api/v1/ping")]
|
||||
#[get("/ping")]
|
||||
pub fn ping_pong(_auth: Authenticated) -> Value {
|
||||
//pub fn ping_pong() -> Value {
|
||||
//pub fn ping_pong() -> Value {
|
||||
// ping pong
|
||||
let status = "success".to_string();
|
||||
let msg = "pong!".to_string();
|
||||
|
@ -21,7 +21,7 @@ pub fn ping_pong(_auth: Authenticated) -> Value {
|
|||
}
|
||||
|
||||
/// Status route: check availability of `peach-network` microservice.
|
||||
#[get("/api/v1/ping/network")]
|
||||
#[get("/ping/network")]
|
||||
pub fn ping_network(_auth: Authenticated) -> Value {
|
||||
match network_client::ping() {
|
||||
Ok(_) => {
|
||||
|
@ -40,7 +40,7 @@ pub fn ping_network(_auth: Authenticated) -> Value {
|
|||
}
|
||||
|
||||
/// Status route: check availability of `peach-oled` microservice.
|
||||
#[get("/api/v1/ping/oled")]
|
||||
#[get("/ping/oled")]
|
||||
pub fn ping_oled(_auth: Authenticated) -> Value {
|
||||
match oled_client::ping() {
|
||||
Ok(_) => {
|
||||
|
@ -59,7 +59,7 @@ pub fn ping_oled(_auth: Authenticated) -> Value {
|
|||
}
|
||||
|
||||
/// Status route: check availability of `peach-stats` microservice.
|
||||
#[get("/api/v1/ping/stats")]
|
||||
#[get("/ping/stats")]
|
||||
pub fn ping_stats(_auth: Authenticated) -> Value {
|
||||
match stats_client::ping() {
|
||||
Ok(_) => {
|
Loading…
Reference in New Issue