yumoqing 0e0ee695e6 feat: add orgid field to hermes_services for organization-scoped service isolation
- Add orgid field (str32, not nullable) to hermes_services table
- Replace user_id with orgid in all service CRUD operations (SQL + functions)
- Update function signatures: get_all_services, create_service, delete_service,
  get_service_by_id, test_service_connection, create_session,
  send_message_to_service, get_session_messages all use orgid
- Add orgid indexes: idx_hermes_services_orgid, idx_hermes_services_orgid_status
- Add logined_userorgid filtering to CRUD definition for automatic framework-level isolation
- Update all .dspy files to use get_userorgid() for org-scoped service queries
- Update init/data.json and db_tables.py to reflect orgid field
2026-04-27 11:50:05 +08:00

27 lines
897 B
Plaintext

# Get all services for display in services.ui
# This .dspy file uses functions provided by load_hermes_web_cli()
try:
# Get current user's org ID using ahserver's built-in get_userorgid() function
orgid = await get_userorgid()
# Use the function provided by the hermes-web-cli module
services = await get_all_services(orgid)
# Format services for UI display
result = []
for service in services:
result.append({
"id": service.get("id"),
"name": service.get("name", f"Service {service.get('id')}"),
"endpoint": service.get("service_url", ""),
"description": service.get("description", ""),
"status": service.get("status", "unknown"),
"created_at": service.get("created_at")
})
return result
except Exception as e:
# On error, return empty array
return []