|
@@ -67,8 +67,8 @@ async def get_auto_registration_status(
|
|
|
time_left = max(0, int(3600 - time_since.total_seconds())) # 1 hour = 3600 seconds
|
|
time_left = max(0, int(3600 - time_since.total_seconds())) # 1 hour = 3600 seconds
|
|
|
|
|
|
|
|
if time_since > timedelta(hours=1):
|
|
if time_since > timedelta(hours=1):
|
|
|
- # Auto-disable
|
|
|
|
|
- setting.value["enabled"] = False
|
|
|
|
|
|
|
+ # Auto-disable - must reassign whole dict for SQLAlchemy
|
|
|
|
|
+ setting.value = {**setting.value, "enabled": False}
|
|
|
await db.commit()
|
|
await db.commit()
|
|
|
enabled = False
|
|
enabled = False
|
|
|
time_left = 0
|
|
time_left = 0
|
|
@@ -106,10 +106,12 @@ async def toggle_auto_registration(
|
|
|
)
|
|
)
|
|
|
db.add(setting)
|
|
db.add(setting)
|
|
|
else:
|
|
else:
|
|
|
- setting.value["enabled"] = data.enabled
|
|
|
|
|
|
|
+ # Must reassign the whole dict for SQLAlchemy to detect the change
|
|
|
|
|
+ new_value = {**setting.value, "enabled": data.enabled}
|
|
|
if not data.enabled:
|
|
if not data.enabled:
|
|
|
# Reset last_device_at when disabling
|
|
# Reset last_device_at when disabling
|
|
|
- setting.value["last_device_at"] = None
|
|
|
|
|
|
|
+ new_value["last_device_at"] = None
|
|
|
|
|
+ setting.value = new_value
|
|
|
|
|
|
|
|
await db.commit()
|
|
await db.commit()
|
|
|
|
|
|