2022-05-12 10:47:33 +00:00
|
|
|
use lazy_static::lazy_static;
|
|
|
|
|
2022-06-15 11:37:36 +00:00
|
|
|
use peach_lib::config_manager;
|
2022-05-12 10:47:33 +00:00
|
|
|
|
2021-12-18 15:00:40 +00:00
|
|
|
use crate::error::PeachConfigError;
|
|
|
|
use crate::utils::cmd;
|
|
|
|
|
2022-05-12 10:47:33 +00:00
|
|
|
lazy_static! {
|
2022-06-15 11:37:36 +00:00
|
|
|
pub static ref PEACH_CONFIGDIR: String = config_manager::get_config_value("PEACH_CONFIGDIR")
|
2022-05-12 11:32:40 +00:00
|
|
|
.expect("Failed to load config value for PEACH_CONFIGDIR");
|
2022-06-15 11:46:51 +00:00
|
|
|
pub static ref PEACH_WEBDIR: String = config_manager::get_config_value("PEACH_WEBDIR")
|
|
|
|
.expect("Failed to load config value for PEACH_WEBDIR");
|
|
|
|
pub static ref PEACH_HOMEDIR: String = config_manager::get_config_value("PEACH_HOMEDIR")
|
|
|
|
.expect("Failed to load config value for PEACH_HOMEDIR");
|
2022-05-12 10:47:33 +00:00
|
|
|
}
|
2021-12-18 15:00:40 +00:00
|
|
|
|
|
|
|
/// Utility function to set correct file permissions on the PeachCloud device.
|
|
|
|
/// Accidentally changing file permissions is a fairly common thing to happen,
|
|
|
|
/// so this is a useful CLI function for quickly correcting anything that may be out of order.
|
|
|
|
pub fn set_permissions() -> Result<(), PeachConfigError> {
|
|
|
|
println!("[ UPDATING FILE PERMISSIONS ON PEACHCLOUD DEVICE ]");
|
2022-05-12 10:53:06 +00:00
|
|
|
cmd(&["chmod", "-R", "u+rwX,g+rwX", &PEACH_CONFIGDIR])?;
|
|
|
|
cmd(&["chown", "-R", "peach:peach", &PEACH_CONFIGDIR])?;
|
|
|
|
cmd(&["chmod", "-R", "u+rwX,g+rwX", &PEACH_WEBDIR])?;
|
|
|
|
cmd(&["chown", "-R", "peach:peach", &PEACH_WEBDIR])?;
|
|
|
|
cmd(&["chmod", "-R", "u+rwX,g+rwX", &PEACH_HOMEDIR])?;
|
|
|
|
cmd(&["chown", "-R", "peach:peach", &PEACH_HOMEDIR])?;
|
2021-12-18 15:00:40 +00:00
|
|
|
println!("[ PERMISSIONS SUCCESSFULLY UPDATED ]");
|
|
|
|
Ok(())
|
|
|
|
}
|