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
|
ret.Genre = a.Genres[0].Name
|
||||||
}
|
}
|
||||||
for _, g := range a.Genres {
|
for _, g := range a.Genres {
|
||||||
ret.Genres = append(ret.Genres, g.Name)
|
ret.Genres = append(ret.Genres, &GenreRef{Name: g.Name})
|
||||||
}
|
}
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,6 +116,10 @@ type ArtistRef struct {
|
|||||||
Name string `xml:"name,attr" json:"name"`
|
Name string `xml:"name,attr" json:"name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type GenreRef struct {
|
||||||
|
Name string `xml:"name,attr" json:"name"`
|
||||||
|
}
|
||||||
|
|
||||||
type Album struct {
|
type Album struct {
|
||||||
// common
|
// common
|
||||||
ID *specid.ID `xml:"id,attr,omitempty" json:"id"`
|
ID *specid.ID `xml:"id,attr,omitempty" json:"id"`
|
||||||
@@ -134,7 +138,7 @@ type Album struct {
|
|||||||
TrackCount int `xml:"songCount,attr" json:"songCount"`
|
TrackCount int `xml:"songCount,attr" json:"songCount"`
|
||||||
Duration int `xml:"duration,attr" json:"duration"`
|
Duration int `xml:"duration,attr" json:"duration"`
|
||||||
Genre string `xml:"genre,attr,omitempty" json:"genre,omitempty"`
|
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"`
|
Year int `xml:"year,attr,omitempty" json:"year,omitempty"`
|
||||||
Tracks []*TrackChild `xml:"song,omitempty" json:"song,omitempty"`
|
Tracks []*TrackChild `xml:"song,omitempty" json:"song,omitempty"`
|
||||||
// star / rating
|
// star / rating
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021,
|
"year": 2021,
|
||||||
"song": [
|
"song": [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
"songCount": 3,
|
"songCount": 3,
|
||||||
"duration": 300,
|
"duration": 300,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -115,7 +115,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -147,7 +147,7 @@
|
|||||||
"songCount": 0,
|
"songCount": 0,
|
||||||
"duration": 0,
|
"duration": 0,
|
||||||
"genre": "Unknown Genre",
|
"genre": "Unknown Genre",
|
||||||
"genres": ["Unknown Genre"],
|
"genres": [{ "name": "Unknown Genre" }],
|
||||||
"year": 2021
|
"year": 2021
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user