feat: add multi-device provisioning and local remote-config UI

- add multi-device portal device management, key rotation, and sync request APIs
- add Pi settings UI for remote server URL, device name, and API key
- add local test-connection and sync-now actions
- make upload and config sync reuse dynamic shared credentials
- add Phase 25.5c migration and docs updates

Co-authored-by: Copilot <[email protected]>
This commit is contained in:
Mathieu Moran
2026-08-10 18:02:09 -04:00
co-authored by Copilot
parent fbc41a5db5
commit ba682fbf3a
23 changed files with 1357 additions and 167 deletions
+2 -1
View File
@@ -30,6 +30,8 @@ def update_device_config(device_id, data):
Validates input and updates config_version on change.
"""
errors = {}
if db.get_device_by_id(device_id) is None:
return False, {"error": "Device not found."}
if not isinstance(data, dict):
return False, {"error": "Invalid request body"}
@@ -87,4 +89,3 @@ def update_device_config(device_id, data):
)
return True, {}