mirror of
https://github.com/gmbrax/MediaManager-core.git
synced 2026-11-09 14:00:17 +00:00
Add complete implementation for track-artist relationship management,
following the established albumhasgenre pattern. This enables tracking
which artists are associated with each track in the media library.
Changes:
- Fix TrackHasArtist model: Rename from TrackHasArtistt.java (typo)
and correct table name from "trackhasgenre" to "trackhasartist"
- Implement TrackHasArtistRepository with full CRUD operations
- Implement TrackHasArtistService with business logic and validation
- Add TrackHasArtistMapper for entity/protobuf conversion
- Create action handlers:
* CreateTrackHasArtistHandler (trackhasartist.create)
* DeleteTrackHasArtistHandler (trackhasartist.delete)
* GetTrackHasArtistByIdHandler (trackhasartist.getById)
* GetTrackHasArtistHandler (trackhasartist.getAll)
- Register TrackHasArtistService in DelegateActionManager for
automatic handler discovery and dependency injection
- Proto file (trackhasartist.proto) was already correct
The implementation validates track and artist existence before creating
relationships and provides proper error handling with appropriate HTTP
status codes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>