1.3 KiB
1.3 KiB
Data Model: 012-remove-superset-tool
Entities
1. Environment (Updated)
- Source:
backend/src/core/config_models.py - Purpose: Represents a Superset environment configuration, now incorporating all fields required for the
SupersetClient. - Fields:
id:str(Unique identifier)name:str(Display name)url:str(Base URL for API)username:strpassword:strverify_ssl:bool(Default:True)timeout:int(Default:30)is_default:bool(Default:False)backup_schedule:Schedule
- Validation Rules:
urlmust start withhttp://orhttps://.timeoutmust be positive.
2. API Contract (SupersetClient)
- Source:
backend/src/core/superset_client.py - Purpose: Self-contained client for Superset API interactions.
- Key Methods:
authenticate()get_dashboards(query)get_datasets(query)get_databases(query)export_dashboard(dashboard_id)import_dashboard(file_name, dash_id, dash_slug)delete_dashboard(dashboard_id)get_databases_summary()get_dashboards_summary()
State Transitions
- Authentication: Unauthenticated -> Authenticated (token stored in memory/client session).
- Import/Export: File System <-> Superset API.