use crate::error::AppError;
pub(crate) use crate::routines::{Routine, RoutineStore};
use serde::Deserialize;
use utoipa::ToSchema;
#[derive(Debug, Deserialize, ToSchema)]
pub struct TriggerRoutineRequest {
#[serde(default)]
pub override_system_power_saving: bool,
}
pub fn build(
store: &RoutineStore,
id: &str,
override_system_power_saving: bool,
) -> Result<Routine, AppError> {
if !override_system_power_saving {
return crate::routines::svc_trigger(store, id);
}
crate::routines::svc_trigger_with_system_power_saving_override(
store,
id,
override_system_power_saving,
)
}
#[cfg(test)]
#[path = "logic_tests.rs"]
mod logic_tests;