feat: fetch all artist albums with caching, filter by type in handler
- Provider fetches all release groups via paginated browse, no type filter - Service caches all albums in DB, ensures referenced artists exist first - Server handler filters by album_types (default: album|ep|single), excludes secondary types - Add secondary_types to domain, DB schema, and MB types - Add ErrBadRequest handling for MusicBrainz 400 errors - Replace migrations with single schema.sql - Add GetAllByArtistID and SaveAll to album repository
This commit is contained in:
+13
-12
@@ -17,18 +17,19 @@ type Artist struct {
|
||||
}
|
||||
|
||||
type Album struct {
|
||||
ID string
|
||||
Title string
|
||||
Type string
|
||||
ReleaseDate *time.Time
|
||||
UPC string
|
||||
TotalTracks int
|
||||
TotalDiscs int
|
||||
CoverURL string
|
||||
Artists []ArtistCredit
|
||||
Label *Label
|
||||
Genres []Genre
|
||||
ExternalIDs []ExternalID
|
||||
ID string
|
||||
Title string
|
||||
Type string
|
||||
SecondaryTypes []string
|
||||
ReleaseDate *time.Time
|
||||
UPC string
|
||||
TotalTracks int
|
||||
TotalDiscs int
|
||||
CoverURL string
|
||||
Artists []ArtistCredit
|
||||
Label *Label
|
||||
Genres []Genre
|
||||
ExternalIDs []ExternalID
|
||||
}
|
||||
|
||||
type Track struct {
|
||||
|
||||
Reference in New Issue
Block a user