2.1 KiB
2.1 KiB
description
| description |
|---|
| Development tasks for Migration Plugin Dashboard Grid |
Development Tasks: Migration Plugin Dashboard Grid
Role: Developer Agent Goal: Implement the logic defined in the architecture contracts.
Phase 1: Backend Implementation
-
D001 [US1] Implement
SupersetClient.get_dashboards_summaryinbackend/src/core/superset_client.py- Context: Fetch dashboards from Superset API with specific columns (
id,dashboard_title,changed_on_utc,published). - Input: None (uses instance config).
- Output: List of dictionaries mapped to
DashboardMetadatafields.
- Context: Fetch dashboards from Superset API with specific columns (
-
D002 [US1] Implement
get_dashboardsendpoint inbackend/src/api/routes/migration.py- Context: Initialize
SupersetClientwith environment config and callget_dashboards_summary. - Input:
env_id(path param). - Output: JSON list of
DashboardMetadata.
- Context: Initialize
-
D003 [US1] Implement
execute_migrationendpoint inbackend/src/api/routes/migration.py- Context: Validate selection and initiate migration task (placeholder or TaskManager integration).
- Input:
DashboardSelectionbody. - Output: Task ID and status message.
Phase 2: Frontend Implementation
-
D004 [US1] Implement
DashboardGrid.sveltelogic- Context:
frontend/src/components/DashboardGrid.svelte - Requirements:
- Client-side pagination (default 20 items).
- Sorting by Title, Last Modified, Status.
- Text filtering (search by title).
- Multi-selection with "Select All" capability.
- Emit selection events.
- Context:
-
D005 [US1] Integrate
DashboardGridinto Migration Page- Context:
frontend/src/routes/migration/+page.svelte - Requirements:
- Fetch dashboards when
sourceEnvIdchanges. - Bind
dashboardsdata toDashboardGrid. - Bind
selectedDashboardIds. - Update
startMigrationto sendselectedDashboardIdsto backend.
- Fetch dashboards when
- Context:
Phase 3: Verification
- D006 Verify Dashboard Grid functionality (Sort, Filter, Page).
- D007 Verify API integration (Fetch dashboards, Start migration).