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
This commit is contained in:
yumoqing 2026-04-21 16:32:51 +08:00
parent 8ba95106e7
commit a315ffd5ac
2 changed files with 41 additions and 36 deletions

View File

@ -1,21 +1,23 @@
{ {
"name": "hermes_service_sessions_crud", "tblname": "hermes_service_sessions",
"table": "hermes_service_sessions", "title": "Hermes Service Sessions",
"operations": { "params": {
"create": { "sortby": ["created_at desc"],
"fields": ["service_id", "user_id", "session_data", "status"], "confidential_fields": [],
"required": ["service_id", "user_id"] "browserfields": {
}, "exclouded": ["id", "service_id", "user_id", "session_data", "created_at", "updated_at", "closed_at"],
"read": { "alters": {
"filters": ["service_id", "user_id", "status", "id"] "status": {
}, "uitype": "code",
"update": { "data": [
"fields": ["session_data", "status"] {"value": "active", "text": "Active"},
}, {"value": "closed", "text": "Closed"},
"delete": { {"value": "expired", "text": "Expired"}
"soft_delete": true, ]
"field": "status",
"deleted_value": "closed"
} }
} }
},
"editexclouded": ["id", "service_id", "user_id", "created_at", "updated_at", "closed_at"],
"subtables": []
}
} }

View File

@ -1,21 +1,24 @@
{ {
"name": "hermes_services_crud", "tblname": "hermes_services",
"table": "hermes_services", "title": "Hermes Services",
"operations": { "params": {
"create": { "sortby": ["created_at desc"],
"fields": ["name", "service_url", "description", "status"], "confidential_fields": [],
"required": ["name", "service_url"] "browserfields": {
}, "exclouded": ["id", "service_url", "created_at", "updated_at"],
"read": { "alters": {
"filters": ["status", "id", "name"] "status": {
}, "uitype": "code",
"update": { "data": [
"fields": ["name", "service_url", "description", "status"] {"value": "pending", "text": "Pending"},
}, {"value": "active", "text": "Active"},
"delete": { {"value": "inactive", "text": "Inactive"},
"soft_delete": true, {"value": "error", "text": "Error"}
"field": "status", ]
"deleted_value": "inactive"
} }
} }
},
"editexclouded": ["id", "created_at", "updated_at"],
"subtables": []
}
} }