New Directory response. Simplified other responses

This commit is contained in:
Deluan
2016-03-02 18:44:13 -05:00
parent de94fe3ef2
commit 68786d4b39
2 changed files with 61 additions and 14 deletions
+32 -13
View File
@@ -7,9 +7,10 @@ type Subsonic struct {
Status string `xml:"status,attr" json:"status"`
Version string `xml:"version,attr" json:"version"`
Error *Error `xml:",omitempty" json:"error,omitempty"`
License *License `xml:",omitempty" json:"license,omitempty"`
MusicFolders *MusicFolders `xml:",omitempty" json:"musicFolders,omitempty"`
Indexes *Indexes `xml:",omitempty" json:"indexes,omitempty"`
License *License `xml:"license,omitempty" json:"license,omitempty"`
MusicFolders *MusicFolders `xml:"musicFolders,omitempty" json:"musicFolders,omitempty"`
Indexes *Indexes `xml:"indexes,omitempty" json:"indexes,omitempty"`
Directory *Directory `xml:"directory,omitempty" json:"directory,omitempty"`
}
type JsonWrapper struct {
@@ -17,42 +18,60 @@ type JsonWrapper struct {
}
type Error struct {
XMLName xml.Name `xml:"error" json:"-"`
Code int `xml:"code,attr"`
Message string `xml:"message,attr"`
}
type License struct {
XMLName xml.Name `xml:"license" json:"-"`
Valid bool `xml:"valid,attr" json:"valid"`
}
type MusicFolder struct {
XMLName xml.Name `xml:"musicFolder" json:"-"`
Id string `xml:"id,attr" json:"id"`
Name string `xml:"name,attr" json:"name"`
}
type MusicFolders struct {
XMLName xml.Name `xml:"musicFolders" json:"-"`
Folders []MusicFolder `xml:"musicFolders" json:"musicFolder,omitempty"`
Folders []MusicFolder `xml:"musicFolder" json:"musicFolder,omitempty"`
}
type Artist struct {
XMLName xml.Name `xml:"artist" json:"-"`
Id string `xml:"id,attr" json:"id"`
Name string `xml:"name,attr" json:"name"`
}
type Index struct {
XMLName xml.Name `xml:"index" json:"-"`
Name string `xml:"name,attr" json:"name"`
Artists []Artist `xml:"index" json:"artist"`
Artists []Artist `xml:"artist" json:"artist"`
}
type Indexes struct {
XMLName xml.Name `xml:"indexes" json:"-"`
Index []Index `xml:"indexes" json:"index,omitempty"`
Index []Index `xml:"index" json:"index,omitempty"`
LastModified string `xml:"lastModified,attr" json:"lastModified"`
IgnoredArticles string `xml:"ignoredArticles,attr" json:"ignoredArticles"`
}
type Child struct {
Id string `xml:"id,attr" json:"id"`
IsDir bool `xml:"isDir,attr" json:"isDir"`
Title string `xml:"title,attr" json:"title"`
Album string `xml:"album,attr" json:"album"`
Artist string `xml:"artist,attr" json:"artist"`
Track int `xml:"track,attr" json:"track"`
Year int `xml:"year,attr" json:"year"`
Genre string `xml:"genre,attr" json:"genre"`
CoverArt string `xml:"coverArt,attr" json:"coverArt"`
Size string `xml:"size,attr" json:"size"`
ContentType string `xml:"contentType,attr" json:"contentType"`
Suffix string `xml:"suffix,attr" json:"suffix"`
TranscodedContentType string `xml:"transcodedContentType,attr" json:"transcodedContentType"`
TranscodedSuffix string `xml:"transcodedSuffix,attr" json:"transcodedSuffix"`
Duration int `xml:"duration,attr" json:"duration"`
BitRate int `xml:"bitRate,attr" json:"bitRate"`
}
type Directory struct {
Child []Child `xml:"child" json:"child,omitempty"`
Id string `xml:"id,attr" json:"id"`
Name string `xml:"name,attr" json:"name"`
}