Use rocket::serde::json instead of rocket_contrib::json

This commit is contained in:
notplants 2021-11-03 15:08:57 +01:00
parent 2507747f94
commit 346b6c30c4
5 changed files with 55 additions and 50 deletions

View File

@ -9,7 +9,8 @@ use rocket::serde::{Deserialize, Serialize};
use peach_lib::password_utils;
use crate::error::PeachWebError;
use crate::utils::{build_json_response, JsonResponse};
use crate::utils::build_json_response;
use rocket::serde::json::Value;
// HELPERS AND ROUTES FOR /login
@ -185,12 +186,12 @@ pub fn reset_password_form_endpoint(
Ok(_) => {
let status = "success".to_string();
let msg = "New password is now saved. Return home to login.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(err) => {
let status = "error".to_string();
let msg = format!("{}", err);
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -337,12 +338,12 @@ pub fn save_password_form_endpoint(password_form: Json<PasswordForm>) -> Value {
Ok(_) => {
let status = "success".to_string();
let msg = "Your password was successfully changed".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(err) => {
let status = "error".to_string();
let msg = format!("{}", err);
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}

View File

@ -16,7 +16,8 @@ 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, JsonResponse};
use crate::utils::build_json_response;
use rocket::serde::json::Value;
// HELPERS AND ROUTES FOR /device
@ -195,13 +196,13 @@ pub fn reboot_device() -> Value {
debug!("Going down for reboot...");
let status = "success".to_string();
let msg = "Going down for reboot.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("Reboot failed");
let status = "error".to_string();
let msg = "Failed to reboot the device.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -233,13 +234,13 @@ pub fn shutdown_device() -> Value {
debug!("Going down for shutdown...");
let status = "success".to_string();
let msg = "Going down for shutdown.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("Shutdown failed");
let status = "error".to_string();
let msg = "Failed to shutdown the device.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}

View File

@ -8,7 +8,8 @@ use peach_lib::network_client;
use peach_lib::oled_client;
use peach_lib::stats_client;
use crate::utils::{build_json_response, JsonResponse};
use crate::utils::build_json_response;
use rocket::serde::json::Value;
/// Status route: useful for checking connectivity from web client.
#[get("/api/v1/ping")]
@ -16,7 +17,7 @@ pub fn ping_pong() -> Value {
// ping pong
let status = "success".to_string();
let msg = "pong!".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
/// Test route: useful for ad hoc testing.
@ -25,7 +26,7 @@ pub fn test_route() -> Value {
let val = is_dns_updater_online().unwrap();
let status = "success".to_string();
let msg = val.to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
/// Status route: check availability of `peach-network` microservice.
@ -36,13 +37,13 @@ pub fn ping_network() -> Value {
debug!("peach-network responded successfully");
let status = "success".to_string();
let msg = "peach-network is available.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("peach-network failed to respond");
let status = "error".to_string();
let msg = "peach-network is unavailable.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -55,13 +56,13 @@ pub fn ping_oled() -> Value {
debug!("peach-oled responded successfully");
let status = "success".to_string();
let msg = "peach-oled is available.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("peach-oled failed to respond");
let status = "error".to_string();
let msg = "peach-oled is unavailable.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -74,13 +75,13 @@ pub fn ping_stats() -> Value {
debug!("peach-stats responded successfully");
let status = "success".to_string();
let msg = "peach-stats is available.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("peach-stats failed to respond");
let status = "error".to_string();
let msg = "peach-stats is unavailable.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}

View File

@ -19,7 +19,8 @@ use peach_lib::jsonrpc_client_core::{Error, ErrorKind};
use peach_lib::jsonrpc_core::types::error::ErrorCode;
use crate::error::PeachWebError;
use crate::utils::{build_json_response, JsonResponse};
use crate::utils::build_json_response;
use rocket::serde::json::Value;
#[derive(Debug, Deserialize, FromForm)]
pub struct DnsForm {
@ -157,12 +158,12 @@ pub fn save_dns_configuration_endpoint(dns_form: Json<DnsForm>) -> Value {
Ok(_) => {
let status = "success".to_string();
let msg = "New dynamic dns configuration is now enabled".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(err) => {
let status = "error".to_string();
let msg = format!("{}", err);
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}

View File

@ -19,7 +19,8 @@ use peach_lib::stats_client::Traffic;
use crate::utils::monitor;
use crate::utils::monitor::{Alert, Data, Threshold};
use crate::utils::{build_json_response, JsonResponse};
use crate::utils::build_json_response;
use rocket::serde::json::Value;
// STRUCTS USED BY NETWORK ROUTES
@ -766,13 +767,13 @@ pub fn update_wifi_alerts(thresholds: Json<Threshold>) -> Value {
debug!("WiFi data usage thresholds updated.");
let status = "success".to_string();
let msg = "Updated alert threshold and flags.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("Failed to update WiFi data usage thresholds.");
let status = "error".to_string();
let msg = "Failed to update WiFi data usage thresholds.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -796,13 +797,13 @@ pub fn reset_data_total() -> Value {
let data = json!(current_traffic);
let status = "success".to_string();
let msg = "Reset network data usage total.".to_string();
Json(build_json_response(status, Some(data), Some(msg)))
build_json_responses(status, Some(data), Some(msg))
}
Err(_) => {
warn!("Failed to reset network data usage total.");
let status = "error".to_string();
let msg = "Failed to reset network data usage total.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -816,12 +817,12 @@ pub fn activate_ap() -> Value {
match network_client::activate_ap() {
Ok(_) => {
let status = "success".to_string();
Json(build_json_response(status, None, None))
build_json_response(status, None, None)
}
Err(_) => {
let status = "error".to_string();
let msg = "Failed to activate WiFi access point.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -835,12 +836,12 @@ pub fn activate_client() -> Value {
match network_client::activate_client() {
Ok(_) => {
let status = "success".to_string();
Json(build_json_response(status, None, None))
build_json_response(status, None, None)
}
Err(_) => {
let status = "error".to_string();
let msg = "Failed to activate WiFi client mode.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -859,14 +860,14 @@ pub fn add_wifi(wifi: Json<WiFi>) -> Value {
// json response for successful update
let status = "success".to_string();
let msg = "WiFi credentials added.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
debug!("Failed to add WiFi credentials.");
// json response for failed update
let status = "error".to_string();
let msg = "Failed to add WiFi credentials.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -880,18 +881,18 @@ pub fn connect_ap(ssid: Json<Ssid>) -> Value {
Ok(_) => {
let status = "success".to_string();
let msg = "Connected to chosen network.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
let status = "error".to_string();
let msg = "Failed to connect to chosen network.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
},
Err(_) => {
let status = "error".to_string();
let msg = "Failed to retrieve the network ID.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -903,12 +904,12 @@ pub fn disconnect_ap(ssid: Json<Ssid>) -> Value {
Ok(_) => {
let status = "success".to_string();
let msg = "Disconnected from WiFi network.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
let status = "error".to_string();
let msg = "Failed to disconnect from WiFi network.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -921,13 +922,13 @@ pub fn forget_ap(network: Json<Ssid>) -> Value {
debug!("Removed WiFi credentials for chosen network.");
let status = "success".to_string();
let msg = "WiFi network credentials removed.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("Failed to remove WiFi credentials.");
let status = "error".to_string();
let msg = "Failed to remove WiFi network credentials.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -944,13 +945,13 @@ pub fn modify_password(wifi: Json<WiFi>) -> Value {
debug!("WiFi password updated for chosen network.");
let status = "success".to_string();
let msg = "WiFi password updated.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
Err(_) => {
warn!("Failed to update WiFi password.");
let status = "error".to_string();
let msg = "Failed to update WiFi password.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -974,7 +975,7 @@ pub fn return_ip() -> Value {
"ap0": ap_ip
});
let status = "success".to_string();
Json(build_json_response(status, Some(data), None))
build_json_response(status, Some(data), None)
}
#[get("/api/v1/network/rssi")]
@ -984,12 +985,12 @@ pub fn return_rssi() -> Value {
Ok(rssi) => {
let status = "success".to_string();
let data = json!(rssi);
Json(build_json_response(status, Some(data), None))
build_json_response(status, Some(data), None)
}
Err(_) => {
let status = "success".to_string();
let msg = "Not currently connected to an access point.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -1001,12 +1002,12 @@ pub fn return_ssid() -> Value {
Ok(network) => {
let status = "success".to_string();
let data = json!(network);
Json(build_json_response(status, Some(data), None))
build_json_response(status, Some(data), None)
}
Err(_) => {
let status = "success".to_string();
let msg = "Not currently connected to an access point.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}
@ -1028,7 +1029,7 @@ pub fn return_state() -> Value {
"ap0": ap_state
});
let status = "success".to_string();
Json(build_json_response(status, Some(data), None))
build_json_response(status, Some(data), None)
}
#[get("/api/v1/network/status")]
@ -1038,12 +1039,12 @@ pub fn return_status() -> Value {
Ok(network) => {
let status = "success".to_string();
let data = json!(network);
Json(build_json_response(status, Some(data), None))
build_json_response(status, Some(data), None)
}
Err(_) => {
let status = "success".to_string();
let msg = "Not currently connected to an access point.".to_string();
Json(build_json_response(status, None, Some(msg)))
build_json_responses(status, None, Some(msg))
}
}
}