Files
2026-01-22 17:37:17 +03:00

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: str
    • password: str
    • verify_ssl: bool (Default: True)
    • timeout: int (Default: 30)
    • is_default: bool (Default: False)
    • backup_schedule: Schedule
  • Validation Rules:
    • url must start with http:// or https://.
    • timeout must 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.