Add more debugging and fix some

This commit is contained in:
Tobias Reisinger 2024-03-03 22:39:28 +01:00
parent b2ff632e64
commit 3d66ca2472
Signed by: serguzim
GPG key ID: 13AD60C237A28DFE
5 changed files with 13 additions and 10 deletions

BIN
Cargo.lock generated

Binary file not shown.

View file

@ -47,6 +47,7 @@ impl Handler<Reload> for AppState {
type Result = Result<(), EmgauwaError>;
fn handle(&mut self, _msg: Reload, _ctx: &mut Self::Context) -> Self::Result {
log::debug!("Reloading controller");
let mut pool_conn = block_on(self.pool.acquire())?;
self.this.reload(&mut pool_conn)?;

View file

@ -70,6 +70,7 @@ impl Handler<ConnectController> for AppState {
type Result = Result<(), EmgauwaError>;
fn handle(&mut self, msg: ConnectController, _ctx: &mut Self::Context) -> Self::Result {
log::debug!("Connecting controller: {}", msg.controller.c.uid);
self.connected_controllers
.insert(msg.controller.c.uid.clone(), (msg.controller, msg.address));

View file

@ -31,6 +31,7 @@ impl ControllerWs {
block_on(controller_db.update_active(conn, true))?;
for relay in &controller.relays {
log::debug!("Registering relay: {}", relay.r.name);
let (new_relay, created) = block_on(DbRelay::get_by_controller_and_num_or_create(
conn,
&controller_db,
@ -69,6 +70,7 @@ impl ControllerWs {
controller,
}))??;
log::debug!("Done registering controller");
Ok(())
}
}

View file

@ -51,10 +51,16 @@ impl ControllerWs {
conn: &mut PoolConnection<Sqlite>,
ctx: &mut <ControllerWs as Actor>::Context,
action: ControllerWsAction,
) -> Result<(), EmgauwaError> {
match action {
) {
let action_res = match action {
ControllerWsAction::Register(controller) => self.handle_register(conn, ctx, controller),
_ => Ok(()),
};
if let Err(e) = action_res {
log::error!("Error handling action: {:?}", e);
ctx.text(
serde_json::to_string(&e).unwrap_or(format!("Error in handling action: {:?}", e)),
);
}
}
@ -121,14 +127,7 @@ impl StreamHandler<Result<Message, ProtocolError>> for ControllerWs {
}
Message::Text(text) => match serde_json::from_str(&text) {
Ok(action) => {
let action_res = self.handle_action(&mut pool_conn, ctx, action);
if let Err(e) = action_res {
log::error!("Error handling action: {:?}", e);
ctx.text(
serde_json::to_string(&e)
.unwrap_or(format!("Error in handling action: {:?}", e)),
);
}
self.handle_action(&mut pool_conn, ctx, action);
}
Err(e) => {
log::error!("Error deserializing action: {:?}", e);