use crate::{
access::AccessError, ops::storage::state::app::AppStateOps,
storage::stable::state::app::AppMode,
};
pub fn guard_app_query() -> Result<(), AccessError> {
let mode = AppStateOps::get_mode();
match mode {
AppMode::Enabled | AppMode::Readonly => Ok(()),
AppMode::Disabled => Err(AccessError::Denied("application is disabled".to_string())),
}
}
pub fn guard_app_update() -> Result<(), AccessError> {
let mode = AppStateOps::get_mode();
match mode {
AppMode::Enabled => Ok(()),
AppMode::Readonly => Err(AccessError::Denied(
"application is in readonly mode".to_string(),
)),
AppMode::Disabled => Err(AccessError::Denied("application is disabled".to_string())),
}
}