return album genres as a list of objects as per opensubsonic
https://github.com/opensubsonic/open-subsonic-api/pull/51
This commit is contained in:
@@ -44,7 +44,7 @@ func NewAlbumByTags(a *db.Album, artists []*db.Artist) *Album {
|
||||
ret.Genre = a.Genres[0].Name
|
||||
}
|
||||
for _, g := range a.Genres {
|
||||
ret.Genres = append(ret.Genres, g.Name)
|
||||
ret.Genres = append(ret.Genres, &GenreRef{Name: g.Name})
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
@@ -116,6 +116,10 @@ type ArtistRef struct {
|
||||
Name string `xml:"name,attr" json:"name"`
|
||||
}
|
||||
|
||||
type GenreRef struct {
|
||||
Name string `xml:"name,attr" json:"name"`
|
||||
}
|
||||
|
||||
type Album struct {
|
||||
// common
|
||||
ID *specid.ID `xml:"id,attr,omitempty" json:"id"`
|
||||
@@ -134,7 +138,7 @@ type Album struct {
|
||||
TrackCount int `xml:"songCount,attr" json:"songCount"`
|
||||
Duration int `xml:"duration,attr" json:"duration"`
|
||||
Genre string `xml:"genre,attr,omitempty" json:"genre,omitempty"`
|
||||
Genres []string `xml:"genres,omitempty" json:"genres,omitempty"`
|
||||
Genres []*GenreRef `xml:"genres,omitempty" json:"genres,omitempty"`
|
||||
Year int `xml:"year,attr,omitempty" json:"year,omitempty"`
|
||||
Tracks []*TrackChild `xml:"song,omitempty" json:"song,omitempty"`
|
||||
// star / rating
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021,
|
||||
"song": [
|
||||
{
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -54,7 +54,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -54,7 +54,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -38,7 +38,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -54,7 +54,7 @@
|
||||
"songCount": 3,
|
||||
"duration": 300,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -35,7 +35,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -51,7 +51,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -67,7 +67,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -83,7 +83,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -99,7 +99,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -115,7 +115,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -131,7 +131,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
},
|
||||
{
|
||||
@@ -147,7 +147,7 @@
|
||||
"songCount": 0,
|
||||
"duration": 0,
|
||||
"genre": "Unknown Genre",
|
||||
"genres": ["Unknown Genre"],
|
||||
"genres": [{ "name": "Unknown Genre" }],
|
||||
"year": 2021
|
||||
}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user