From da8b694a49b6c2a9e295e35228cc7f2b30a547eb Mon Sep 17 00:00:00 2001 From: "Jokob @NetAlertX" <96159884+jokob-sk@users.noreply.github.com> Date: Wed, 8 Apr 2026 22:38:43 +0000 Subject: [PATCH] Update API documentation and schemas: clarify lock/unlock behavior for device fields and enhance error handling in device alias update --- docs/API_DEVICE.md | 2 +- server/api_server/api_server_start.py | 4 ++++ server/api_server/openapi/schemas.py | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/API_DEVICE.md b/docs/API_DEVICE.md index 7aab7e8d..26c8741c 100755 --- a/docs/API_DEVICE.md +++ b/docs/API_DEVICE.md @@ -217,7 +217,7 @@ Allowed `columnName` values: `devName`, `devOwner`, `devType`, `devVendor`, `dev | Field | Type | Required | Description | |---|---|---|---| | `fieldName` | string | ✅ | Field to lock/unlock (e.g. `devName`, `devVendor`) | -| `lock` | boolean | ❌ | `true` to lock (default), `false` to unlock | +| `lock` | boolean | ❌ | `true` to lock, `false` to unlock (default when omitted) | **Response** (success): diff --git a/server/api_server/api_server_start.py b/server/api_server/api_server_start.py index f85f9a57..b92120d9 100755 --- a/server/api_server/api_server_start.py +++ b/server/api_server/api_server_start.py @@ -585,6 +585,10 @@ def api_device_set_alias(mac, payload=None): device_handler = DeviceInstance() result = device_handler.updateDeviceColumn(mac, 'devName', alias) + + if not result.get("success") and result.get("error") == "Device not found": + return jsonify(result), 404 + return jsonify(result) diff --git a/server/api_server/openapi/schemas.py b/server/api_server/openapi/schemas.py index f3fbccbc..66693901 100644 --- a/server/api_server/openapi/schemas.py +++ b/server/api_server/openapi/schemas.py @@ -417,7 +417,7 @@ class UpdateDeviceColumnRequest(BaseModel): class LockDeviceFieldRequest(BaseModel): """Request to lock/unlock a device field.""" fieldName: str = Field(..., description="Field name to lock/unlock (e.g., devName, devVendor). Required.") - lock: bool = Field(True, description="True to lock the field, False to unlock") + lock: bool = Field(False, description="True to lock the field, False (default) to unlock") class UnlockDeviceFieldsRequest(BaseModel): @@ -430,7 +430,7 @@ class UnlockDeviceFieldsRequest(BaseModel): None, description="List of field names to unlock. If omitted, all tracked fields will be unlocked" ) - clear_all: bool = Field( + clearAll: bool = Field( False, description="True to clear all sources, False to clear only LOCKED/USER" )