Even more metadata for playlists

This commit is contained in:
Deluan
2016-03-21 12:26:55 -04:00
parent 3cefc321b8
commit a9d7d4d242
6 changed files with 37 additions and 14 deletions
+12 -5
View File
@@ -23,11 +23,14 @@ func (c *PlaylistsController) GetAll() {
c.SendError(responses.ERROR_GENERIC, "Internal error")
}
playlists := make([]responses.Playlist, len(allPls))
for i, f := range allPls {
playlists[i].Id = f.Id
playlists[i].Name = f.Name
playlists[i].Comment = "Original: " + f.FullPath
playlists[i].SongCount = len(f.Tracks)
for i, p := range allPls {
playlists[i].Id = p.Id
playlists[i].Name = p.Name
playlists[i].Comment = "Original: " + p.FullPath
playlists[i].SongCount = len(p.Tracks)
playlists[i].Duration = p.Duration
playlists[i].Owner = p.Owner
playlists[i].Public = p.Public
}
response := c.NewEmpty()
response.Playlists = &responses.Playlists{Playlist: playlists}
@@ -56,6 +59,10 @@ func (c *PlaylistsController) buildPlaylist(d *engine.PlaylistInfo) *responses.P
pls := &responses.PlaylistWithSongs{}
pls.Id = d.Id
pls.Name = d.Name
pls.SongCount = d.SongCount
pls.Owner = d.Owner
pls.Duration = d.Duration
pls.Public = d.Public
pls.Entry = c.ToChildren(d.Entries)
return pls
+3 -4
View File
@@ -124,15 +124,14 @@ type Playlist struct {
Name string `xml:"name,attr" json:"name"`
Comment string `xml:"comment,attr,omitempty" json:"comment,omitempty"`
SongCount int `xml:"songCount,attr,omitempty" json:"songCount,omitempty"`
Duration int `xml:"duration,attr,omitempty" json:"duration,omitempty"`
Public bool `xml:"public,attr,omitempty" json:"public,omitempty"`
Owner string `xml:"owner,attr,omitempty" json:"owner,omitempty"`
/*
<xs:sequence>
<xs:element name="allowedUser" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <!--Added in 1.8.0-->
</xs:sequence>
<xs:attribute name="comment" type="xs:string" use="optional"/> <!--Added in 1.8.0-->
<xs:attribute name="owner" type="xs:string" use="optional"/> <!--Added in 1.8.0-->
<xs:attribute name="public" type="xs:boolean" use="optional"/> <!--Added in 1.8.0-->
<xs:attribute name="songCount" type="xs:int" use="required"/> <!--Added in 1.8.0-->
<xs:attribute name="duration" type="xs:int" use="required"/> <!--Added in 1.8.0-->
<xs:attribute name="created" type="xs:dateTime" use="required"/> <!--Added in 1.8.0-->
<xs:attribute name="changed" type="xs:dateTime" use="required"/> <!--Added in 1.13.0-->
<xs:attribute name="coverArt" type="xs:string" use="optional"/> <!--Added in 1.11.0-->