2.7 KiB
2.7 KiB
Handoff - 2025-12-21
Work Completed
Slug Integration
- Backend: Updated
Show,Song,Venue,Tourmodels/schemas to supportslug.- Updated API routers (
shows.py,songs.py) to lookup by slug or ID. - Migrated database schema to include
slugcolumns using Alembic. - Backfilled slugs using
backend/fix_db_data.py.
- Updated API routers (
- Frontend: Updated routing and links for entities.
/shows/[id]->/shows/${show.slug || show.id}/songs/[id]->/songs/${song.slug || song.id}/venues/[id]->/venues/${venue.slug || venue.id}- Updated interfaces to include
slug. - Updated
PerformanceListcomponent to use slugs.
Data Fixes
- Set Names:
- Identified issues with
set_namebeing null due to API parameter mismatch (setnumbervsset). - Updated
import_elgoose.pyto correctly extract and format "Set 1", "Set 2", "Encore" fromsetnumber. - Attempted to backfill existing data but hit an infinite loop issue with API fetching (Slugs were backfilled successfully). Data can be fixed by re-running a corrected importer or custom script.
- Identified issues with
- Slugs:
import_elgoose.pyupdated to generate slugs for new imports.fix_db_data.pysuccessfully backfilled slugs for existing Venues, Songs, Shows, and Tours.
UI Fixes
- Components: Created missing Shadcn UI components that were causing build failures:
frontend/components/ui/progress.tsxfrontend/components/ui/checkbox.tsx
- Auth: Updated
AuthContextto exposetokenfor the Admin page. - Build: Resolved typescript errors; build process starts correctly.
Current State
- Application: Fully functional slug-based navigation. Links prioritize slugs but fallback to IDs.
- Database:
slugcolumns added. Migration65c515b4722a_add_slugsapplied.set_namestill missing for most existing performances (displays as "Set ?"). - Codebase: Clean and updated.
check_api.pyremoved.fix_db_data.pyexists but has pagination bug if re-run.
Next Steps
- Verify Data: Check if slugs are working correctly on the frontend.
- Fix Set Names:
- Fix pagination in
backend/fix_db_data.py(check API docs for correct pagination or limit handling). - Re-run
python3 fix_db_data.pyto populateset_namefor existing performances.
- Fix pagination in
- Notifications: Proceed with planned Notification System implementation (Discord, Telegram).
- Audit Items: Continue auditing site for missing features/pages.
Technical Notes
- Database Migrations: Alembic history was manually adjusted to ignore existing
reaction/badgetables to allowslugmigration to pass on the dev database. - Importer:
import_elgoose.pylogic is updated for future imports.