diff --git a/Cargo.lock b/Cargo.lock index 9ca1b7e..9cd0a0c 100644 Binary files a/Cargo.lock and b/Cargo.lock differ diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs index 1693e53..5349bfe 100644 --- a/src/handlers/mod.rs +++ b/src/handlers/mod.rs @@ -44,4 +44,4 @@ impl EmgauwaMessage for HttpResponseBuilder { fn emgauwa_message(mut self, message: &str) -> HttpResponse { self.json(json!({ "message": message })) } -} \ No newline at end of file +} diff --git a/src/handlers/v1/macros.rs b/src/handlers/v1/macros.rs index 44b9957..d2d62bf 100644 --- a/src/handlers/v1/macros.rs +++ b/src/handlers/v1/macros.rs @@ -1,14 +1,15 @@ use actix::Addr; -use actix_web::{delete, get, HttpResponse, post, put, web}; -use sqlx::{Pool, Sqlite}; -use sqlx::pool::PoolConnection; - +use actix_web::{delete, get, post, put, web, HttpResponse}; use emgauwa_common::db::{DbController, 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 crate::app_state; +use emgauwa_common::types::{ + ControllerWsAction, EmgauwaUid, RequestMacroCreate, RequestMacroExecute, RequestMacroUpdate, +}; +use sqlx::pool::PoolConnection; +use sqlx::{Pool, Sqlite}; +use crate::app_state; use crate::app_state::AppState; use crate::handlers::EmgauwaMessage; @@ -133,8 +134,8 @@ pub async fn execute( let affected_controllers = collect_affected_controllers(&mut pool_conn, &actions).await?; for controller in affected_controllers { - - let affected_relays = collect_affected_relays(&mut pool_conn, &mut actions, &controller).await?; + let affected_relays = + collect_affected_relays(&mut pool_conn, &mut actions, &controller).await?; app_state .send(app_state::Action { @@ -159,10 +160,11 @@ async fn collect_affected_controllers( .iter() .any(|controller| controller.id == controller_id) { - continue + continue; } - let controller = DbController::get(pool_conn, controller_id).await? + let controller = DbController::get(pool_conn, controller_id) + .await? .ok_or(DatabaseError::NotFound)?; affected_controllers.push(controller); } @@ -177,7 +179,9 @@ async fn collect_affected_relays( let mut affected_relays: Vec = Vec::new(); for action in actions { - if affected_relays.iter().any(|relay| relay.r.id == action.relay.r.id) + if affected_relays + .iter() + .any(|relay| relay.r.id == action.relay.r.id) || action.relay.r.controller_id != controller.id { continue; @@ -186,4 +190,4 @@ async fn collect_affected_relays( affected_relays.push(action.relay.clone()); } Ok(affected_relays) -} \ No newline at end of file +} diff --git a/src/handlers/v1/schedules.rs b/src/handlers/v1/schedules.rs index 9acc734..61d6497 100644 --- a/src/handlers/v1/schedules.rs +++ b/src/handlers/v1/schedules.rs @@ -3,7 +3,10 @@ use actix_web::{delete, get, post, put, web, HttpResponse}; use emgauwa_common::db::{DbController, DbJunctionRelaySchedule, DbSchedule, DbTag}; use emgauwa_common::errors::{ApiError, DatabaseError, EmgauwaError}; use emgauwa_common::models::{convert_db_list, FromDbModel, Schedule}; -use emgauwa_common::types::{ControllerWsAction, RequestScheduleCreate, RequestScheduleGetTagged, RequestScheduleUpdate, ScheduleUid}; +use emgauwa_common::types::{ + ControllerWsAction, RequestScheduleCreate, RequestScheduleGetTagged, RequestScheduleUpdate, + ScheduleUid, +}; use itertools::Itertools; use sqlx::pool::PoolConnection; use sqlx::{Pool, Sqlite}; diff --git a/src/handlers/v1/tags.rs b/src/handlers/v1/tags.rs index ebf818c..65877c5 100644 --- a/src/handlers/v1/tags.rs +++ b/src/handlers/v1/tags.rs @@ -4,6 +4,7 @@ use emgauwa_common::errors::{DatabaseError, EmgauwaError}; use emgauwa_common::models::{FromDbModel, Tag}; use emgauwa_common::types::RequestTagCreate; use sqlx::{Pool, Sqlite}; + use crate::handlers::EmgauwaMessage; #[get("/tags")] diff --git a/src/main.rs b/src/main.rs index d37a39c..c604d41 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,12 +4,11 @@ use actix::{Actor, Arbiter}; use actix_cors::Cors; use actix_web::middleware::TrailingSlash; use actix_web::{middleware, web, App, HttpServer}; -use serde_json::Value; -use utoipa_swagger_ui::SwaggerUi; - use emgauwa_common::db::DbController; use emgauwa_common::errors::EmgauwaError; use emgauwa_common::utils::{drop_privileges, init_logging}; +use serde_json::Value; +use utoipa_swagger_ui::SwaggerUi; use crate::app_state::AppState;