Files
ss-tools/specs/007-migration-dashboard-grid/tasks.md
2025-12-27 06:37:03 +03:00

1.9 KiB

Tasks: Migration Plugin Dashboard Grid

Phase 1: Setup

  • T001 Create migration route module in backend/src/api/routes/migration.py
  • T002 Register migration router in backend/src/app.py
  • T003 Export migration router in backend/src/api/routes/init.py

Phase 2: Foundational

  • T004 Create Dashboard model in backend/src/models/dashboard.py

Phase 3: User Story 1 - Advanced Dashboard Selection

  • T005 [P] [US1] Extend SupersetClient to fetch dashboards with metadata (handling missing fields) in backend/src/core/superset_client.py
  • T006 [US1] Implement GET /api/migration/dashboards endpoint in backend/src/api/routes/migration.py
  • T007 [P] [US1] Create DashboardGrid component structure in frontend/src/components/DashboardGrid.svelte
  • T008 [US1] Implement data fetching and state management in frontend/src/components/DashboardGrid.svelte
  • T009 [US1] Implement client-side filtering logic in frontend/src/components/DashboardGrid.svelte
  • T010 [US1] Implement pagination logic in frontend/src/components/DashboardGrid.svelte
  • T011 [US1] Implement selection logic (single and Select All) in frontend/src/components/DashboardGrid.svelte
  • T012 [US1] Integrate DashboardGrid into migration page and connect selection to submission in frontend/src/routes/migration/+page.svelte
  • T013 [US1] Implement POST /api/migration/execute endpoint to accept selected dashboard IDs in backend/src/api/routes/migration.py

Phase 4: Polish

  • T014 Verify error handling and empty states in frontend/src/components/DashboardGrid.svelte
  • T015 Ensure consistent styling with Tailwind CSS in frontend/src/components/DashboardGrid.svelte

Dependencies

  • US1 depends on T004, T005, T006

Implementation Strategy

  • Implement backend support first (Models -> Client -> API)
  • Implement frontend component with mock data then connect API
  • Integrate into main page