From 0a137657fe59503921eba3a3759e5801924887b4 Mon Sep 17 00:00:00 2001 From: Deluan Date: Sun, 27 Mar 2016 20:35:10 -0400 Subject: [PATCH] getArtists.view implemented --- api/browsing.go | 19 ++++++++++++++++--- api/responses/responses.go | 3 +++ conf/router.go | 1 + 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/api/browsing.go b/api/browsing.go index f38ecac5f..cdbe919c3 100644 --- a/api/browsing.go +++ b/api/browsing.go @@ -32,9 +32,7 @@ func (c *BrowsingController) GetMusicFolders() { c.SendResponse(response) } -func (c *BrowsingController) GetIndexes() { - ifModifiedSince := c.ParamTime("ifModifiedSince", time.Time{}) - +func (c *BrowsingController) getArtistIndex(ifModifiedSince time.Time) responses.Indexes { indexes, lastModified, err := c.browser.Indexes(ifModifiedSince) if err != nil { beego.Error("Error retrieving Indexes:", err) @@ -56,12 +54,27 @@ func (c *BrowsingController) GetIndexes() { res.Index[i].Artists[j].AlbumCount = a.AlbumCount } } + return res +} + +func (c *BrowsingController) GetIndexes() { + ifModifiedSince := c.ParamTime("ifModifiedSince", time.Time{}) + + res := c.getArtistIndex(ifModifiedSince) response := c.NewEmpty() response.Indexes = &res c.SendResponse(response) } +func (c *BrowsingController) GetArtists() { + res := c.getArtistIndex(time.Time{}) + + response := c.NewEmpty() + response.Artist = &res + c.SendResponse(response) +} + func (c *BrowsingController) GetMusicDirectory() { id := c.RequiredParamString("id", "id parameter required") diff --git a/api/responses/responses.go b/api/responses/responses.go index da90f056a..f4306b09e 100644 --- a/api/responses/responses.go +++ b/api/responses/responses.go @@ -22,6 +22,9 @@ type Subsonic struct { Starred *Starred `xml:"starred,omitempty" json:"starred,omitempty"` NowPlaying *NowPlaying `xml:"nowPlaying,omitempty" json:"nowPlaying,omitempty"` Song *Child `xml:"song,omitempty" json:"song,omitempty"` + + // ID3 + Artist *Indexes `xml:"artists,omitempty" json:"artists,omitempty"` } type JsonWrapper struct { diff --git a/conf/router.go b/conf/router.go index dd3a48462..77eeaefa4 100644 --- a/conf/router.go +++ b/conf/router.go @@ -24,6 +24,7 @@ func mapEndpoints() { beego.NSRouter("/getIndexes.view", &api.BrowsingController{}, "*:GetIndexes"), beego.NSRouter("/getMusicDirectory.view", &api.BrowsingController{}, "*:GetMusicDirectory"), beego.NSRouter("/getSong.view", &api.BrowsingController{}, "*:GetSong"), + beego.NSRouter("/getArtists.view", &api.BrowsingController{}, "*:GetArtists"), beego.NSRouter("/search2.view", &api.SearchingController{}, "*:Search2"),