diff --git a/src/handlers/v1/macros.rs b/src/handlers/v1/macros.rs index 0e3fc60..3887bb8 100644 --- a/src/handlers/v1/macros.rs +++ b/src/handlers/v1/macros.rs @@ -1,13 +1,14 @@ use actix::Addr; -use actix_web::{delete, get, post, put, web, HttpResponse}; +use actix_web::{delete, get, HttpResponse, post, put, web}; +use itertools::Itertools; +use sqlx::{Pool, Sqlite}; + use emgauwa_common::db::DbMacro; use emgauwa_common::errors::{DatabaseError, EmgauwaError}; use emgauwa_common::models::{convert_db_list, FromDbModel, Macro, MacroAction, Relay}; use emgauwa_common::types::{ ControllerWsAction, EmgauwaUid, RequestMacroCreate, RequestMacroExecute, RequestMacroUpdate, }; -use itertools::Itertools; -use sqlx::{Pool, Sqlite}; use crate::app_state; use crate::app_state::AppState; @@ -141,7 +142,9 @@ pub async fn execute( let mut affected_relay_ids: Vec = Vec::new(); for action in actions.iter_mut() { - if affected_relay_ids.contains(&action.relay.r.id) { + if affected_relay_ids.contains(&action.relay.r.id) + || action.relay.controller_id != controller_uid + { continue; } action.relay.reload(&mut pool_conn)?;