From a315ffd5ac70c0e2948accb8cdff24d592c93462 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 21 Apr 2026 16:32:51 +0800 Subject: [PATCH] fix: Correct CRUD definitions according to crud-definition-spec - Use proper root properties: tblname, title, params (not name/table/operations) - Implement list view structure with browserfields, editexclouded, etc. - Add status field dropdown options using uitype: code with data array - Exclude system fields (id, timestamps) from browser and edit views - Remove invalid operations structure that was previously used - Follow exact JSON format specified in crud-definition-spec --- json/hermes_service_sessions.json | 38 ++++++++++++++++-------------- json/hermes_services.json | 39 +++++++++++++++++-------------- 2 files changed, 41 insertions(+), 36 deletions(-) diff --git a/json/hermes_service_sessions.json b/json/hermes_service_sessions.json index eb6e8ee..de07e0f 100644 --- a/json/hermes_service_sessions.json +++ b/json/hermes_service_sessions.json @@ -1,21 +1,23 @@ { - "name": "hermes_service_sessions_crud", - "table": "hermes_service_sessions", - "operations": { - "create": { - "fields": ["service_id", "user_id", "session_data", "status"], - "required": ["service_id", "user_id"] - }, - "read": { - "filters": ["service_id", "user_id", "status", "id"] - }, - "update": { - "fields": ["session_data", "status"] - }, - "delete": { - "soft_delete": true, - "field": "status", - "deleted_value": "closed" + "tblname": "hermes_service_sessions", + "title": "Hermes Service Sessions", + "params": { + "sortby": ["created_at desc"], + "confidential_fields": [], + "browserfields": { + "exclouded": ["id", "service_id", "user_id", "session_data", "created_at", "updated_at", "closed_at"], + "alters": { + "status": { + "uitype": "code", + "data": [ + {"value": "active", "text": "Active"}, + {"value": "closed", "text": "Closed"}, + {"value": "expired", "text": "Expired"} + ] + } + } + }, + "editexclouded": ["id", "service_id", "user_id", "created_at", "updated_at", "closed_at"], + "subtables": [] } - } } \ No newline at end of file diff --git a/json/hermes_services.json b/json/hermes_services.json index f76428b..15a18b7 100644 --- a/json/hermes_services.json +++ b/json/hermes_services.json @@ -1,21 +1,24 @@ { - "name": "hermes_services_crud", - "table": "hermes_services", - "operations": { - "create": { - "fields": ["name", "service_url", "description", "status"], - "required": ["name", "service_url"] - }, - "read": { - "filters": ["status", "id", "name"] - }, - "update": { - "fields": ["name", "service_url", "description", "status"] - }, - "delete": { - "soft_delete": true, - "field": "status", - "deleted_value": "inactive" + "tblname": "hermes_services", + "title": "Hermes Services", + "params": { + "sortby": ["created_at desc"], + "confidential_fields": [], + "browserfields": { + "exclouded": ["id", "service_url", "created_at", "updated_at"], + "alters": { + "status": { + "uitype": "code", + "data": [ + {"value": "pending", "text": "Pending"}, + {"value": "active", "text": "Active"}, + {"value": "inactive", "text": "Inactive"}, + {"value": "error", "text": "Error"} + ] + } + } + }, + "editexclouded": ["id", "created_at", "updated_at"], + "subtables": [] } - } } \ No newline at end of file