2022-03-20 14:38:32 +00:00
|
|
|
use log::info;
|
|
|
|
use rouille::Response;
|
|
|
|
|
2022-07-27 17:03:36 +00:00
|
|
|
use crate::utils::{flash::FlashResponse, sbot};
|
2022-03-20 14:38:32 +00:00
|
|
|
|
|
|
|
// ROUTE: /settings/scuttlebutt/restart
|
|
|
|
|
|
|
|
/// Attempt to restart the go-sbot.service process.
|
|
|
|
/// Redirect to the Scuttlebutt settings menu and communicate the outcome of
|
|
|
|
/// the attempt via a flash message.
|
|
|
|
pub fn restart_sbot() -> Response {
|
|
|
|
info!("Restarting go-sbot.service");
|
2022-07-27 17:03:36 +00:00
|
|
|
let (flash_name, flash_msg) = match sbot::system_sbot_cmd("stop") {
|
2022-03-20 14:38:32 +00:00
|
|
|
// if stop was successful, try to start the process
|
2022-07-27 17:03:36 +00:00
|
|
|
Ok(_) => match sbot::system_sbot_cmd("start") {
|
2022-03-20 14:38:32 +00:00
|
|
|
Ok(_) => (
|
|
|
|
"flash_name=success".to_string(),
|
|
|
|
"flash_msg=Sbot process has been restarted".to_string(),
|
|
|
|
),
|
|
|
|
Err(e) => (
|
|
|
|
"flash_name=error".to_string(),
|
|
|
|
format!("flash_msg=Failed to start the sbot process: {}", e),
|
|
|
|
),
|
|
|
|
},
|
|
|
|
Err(e) => (
|
|
|
|
"flash_name=error".to_string(),
|
|
|
|
format!("flash_msg=Failed to stop the sbot process: {}", e),
|
|
|
|
),
|
|
|
|
};
|
|
|
|
|
|
|
|
// redirect to the scuttlebutt settings menu
|
|
|
|
Response::redirect_303("/settings/scuttlebutt").add_flash(flash_name, flash_msg)
|
|
|
|
}
|