From 0cb66c23ba74a48072d6c4b2dcb7ec20a397b37f Mon Sep 17 00:00:00 2001 From: glyph Date: Mon, 15 Nov 2021 17:32:21 +0200 Subject: [PATCH] set route mountpoints --- peach-web/src/main.rs | 178 +++++++++++++++++++++++------------------- 1 file changed, 99 insertions(+), 79 deletions(-) diff --git a/peach-web/src/main.rs b/peach-web/src/main.rs index ab1941f..5362010 100644 --- a/peach-web/src/main.rs +++ b/peach-web/src/main.rs @@ -38,13 +38,14 @@ use rocket_dyn_templates::Template; use crate::routes::authentication::*; use crate::routes::catchers::*; -use crate::routes::device::*; use crate::routes::index::*; -use crate::routes::ping::*; use crate::routes::scuttlebutt::*; +use crate::routes::status::device::*; +use crate::routes::status::ping::*; use crate::routes::settings::admin::*; use crate::routes::settings::dns::*; +use crate::routes::settings::menu::*; use crate::routes::settings::network::*; pub type BoxError = Box; @@ -52,86 +53,105 @@ pub type BoxError = Box; /// Create rocket instance & mount all routes. fn init_rocket() -> Rocket { rocket::build() - .mount( - "/scuttlebutt", - routes![ - peers, // WEB ROUTE - friends, // WEB ROUTE - follows, // WEB ROUTE - followers, // WEB ROUTE - blocks, // WEB ROUTE - profile, // WEB ROUTE - private, // WEB ROUTE - follow, // WEB ROUTE - unfollow, // WEB ROUTE - block, // WEB ROUTE - publish, // WEB ROUTE - ], - ) + // GENERAL HTML ROUTES .mount( "/", routes![ - add_credentials, // WEB ROUTE - connect_wifi, // WEB ROUTE - disconnect_wifi, // WEB ROUTE - deploy_ap, // WEB ROUTE - deploy_client, // WEB ROUTE - device_stats, // WEB ROUTE - forget_wifi, // WEB ROUTE - help, // WEB ROUTE - index, // WEB ROUTE - login, // WEB ROUTE - login_post, // WEB ROUTE - logout, // WEB ROUTE - network_home, // WEB ROUTE - network_add_ssid, // WEB ROUTE - network_add_wifi, // WEB ROUTE - network_detail, // WEB ROUTE - reboot_cmd, // WEB ROUTE - shutdown_cmd, // WEB ROUTE - shutdown_menu, // WEB ROUTE - wifi_list, // WEB ROUTE - wifi_password, // WEB ROUTE - wifi_set_password, // WEB ROUTE - wifi_usage, // WEB ROUTE - wifi_usage_alerts, // WEB ROUTE - wifi_usage_reset, // WEB ROUTE - configure_dns, // WEB ROUTE - configure_dns_post, // WEB ROUTE - change_password, // WEB ROUTE - change_password_post, // WEB ROUTE - reset_password, // WEB ROUTE - reset_password_post, // WEB ROUTE - forgot_password_page, // WEB ROUTE - send_password_reset_post, // WEB ROUTE - configure_admin, // WEB ROUTE - add_admin, // WEB ROUTE - add_admin_post, // WEB ROUTE - delete_admin_post, // WEB ROUTE - activate_ap, // JSON API - activate_client, // JSON API - add_wifi, // JSON API - connect_ap, // JSON API - disconnect_ap, // JSON API - forget_ap, // JSON API - modify_password, // JSON API - ping_pong, // JSON API - ping_network, // JSON API - ping_oled, // JSON API - ping_stats, // JSON API - reset_data_total, // JSON API - return_ip, // JSON API - return_rssi, // JSON API - return_ssid, // JSON API - return_state, // JSON API - return_status, // JSON API - reboot_device, // JSON API - scan_networks, // JSON API - shutdown_device, // JSON API - update_wifi_alerts, // JSON API - save_dns_configuration_endpoint, // JSON API - save_password_form_endpoint, // JSON API - reset_password_form_endpoint, // JSON API + device_status, + help, + home, + login, + login_post, + logout, + reboot_cmd, + shutdown_cmd, + power_menu, + settings_menu, + ], + ) + // ADMIN SETTINGS HTML ROUTES + .mount( + "/settings/admin", + routes![ + configure_admin, + add_admin, + add_admin_post, + delete_admin_post, + change_password, + change_password_post, + reset_password, + reset_password_post, + forgot_password_page, + send_password_reset_post, + ], + ) + // NETWORK SETTINGS HTML ROUTES + .mount( + "/settings/network", + routes![ + add_credentials, + connect_wifi, + configure_dns, + configure_dns_post, + disconnect_wifi, + deploy_ap, + deploy_client, + forget_wifi, + network_home, + add_ssid, + add_wifi, + network_detail, + wifi_list, + wifi_password, + wifi_set_password, + wifi_usage, + wifi_usage_alerts, + wifi_usage_reset, + ], + ) + // SCUTTLEBUTT HTML ROUTES + .mount( + "/scuttlebutt", + routes![ + peers, friends, follows, followers, blocks, profile, private, follow, unfollow, + block, publish, + ], + ) + // GENERAL JSON API ROUTES + .mount( + "/api/v1", + routes![ping_pong, ping_network, ping_oled, ping_stats,], + ) + // ADMIN JSON API ROUTES + .mount( + "/api/v1/admin", + routes![ + save_password_form_endpoint, + reset_password_form_endpoint, + reboot_device, + shutdown_device, + ], + ) + // NETWORK JSON API ROUTES + .mount( + "/api/v1/network", + routes![ + activate_ap, + activate_client, + add_wifi_credentials, + connect_ap, + disconnect_ap, + forget_ap, + modify_password, + reset_data_total, + return_ip, + return_rssi, + return_ssid, + return_state, + return_status, + scan_networks, + update_wifi_alerts, + save_dns_configuration_endpoint, ], ) .mount("/", FileServer::from("static"))