refactor: Clean checkin override parsing and require node type in frontend configuration modal
Build & Deploy / Build & push images (push) Successful in 4m0s
Build & Deploy / Deploy to VM (push) Failing after 2m12s

This commit is contained in:
Logan Cusano
2026-07-12 23:20:39 -04:00
parent c42bd1902c
commit 2e3fde2448
2 changed files with 13 additions and 9 deletions
+8 -6
View File
@@ -1,6 +1,6 @@
import asyncio
import json
from datetime import datetime, timezone
from datetime import datetime, timezone, timedelta
from typing import Optional
import paho.mqtt.client as mqtt
from app.config import settings
@@ -117,14 +117,17 @@ class MQTTHandler:
# Approved but not yet configured — restore reachable status after reboot
updates["status"] = "unconfigured"
node_type = payload.get("node_type", existing.get("node_type", "fixed"))
enforce_timeout = payload.get("enforce_override_timeout", existing.get("enforce_override_timeout", True))
is_overridden = payload.get("is_overridden", False)
override_system_id = payload.get("override_system_id")
node_type = payload.get("node_type") or existing.get("node_type") or "fixed"
enforce_timeout = payload.get("enforce_override_timeout")
if enforce_timeout is None:
enforce_timeout = existing.get("enforce_override_timeout", True)
updates["node_type"] = node_type
updates["enforce_override_timeout"] = enforce_timeout
is_overridden = payload.get("is_overridden", False)
override_system_id = payload.get("override_system_id")
if node_type == "portable":
updates["is_overridden"] = False
updates["override_system_id"] = None
@@ -138,7 +141,6 @@ class MQTTHandler:
existing_override_id = existing.get("override_system_id")
if enforce_timeout:
if not existing_timeout or existing_override_id != override_system_id:
from datetime import timedelta
updates["override_timeout_at"] = (now + timedelta(hours=24)).isoformat()
else:
updates["override_timeout_at"] = None