quintodrome/api/get_music_folders.go

30 lines
725 B
Go
Raw Normal View History

package api
import (
"github.com/deluan/gosonic/api/responses"
"github.com/deluan/gosonic/engine"
2016-03-02 06:48:30 -09:00
"github.com/deluan/gosonic/utils"
2016-03-02 09:18:39 -09:00
"github.com/karlkfi/inject"
)
2016-03-02 06:48:30 -09:00
type GetMusicFoldersController struct {
BaseAPIController
browser engine.Browser
2016-03-02 06:48:30 -09:00
}
func (c *GetMusicFoldersController) Prepare() {
inject.ExtractAssignable(utils.Graph, &c.browser)
2016-03-02 06:48:30 -09:00
}
2016-02-25 14:47:25 -09:00
func (c *GetMusicFoldersController) Get() {
mediaFolderList, _ := c.browser.MediaFolders()
folders := make([]responses.MusicFolder, len(*mediaFolderList))
for i, f := range *mediaFolderList {
2016-02-24 15:14:48 -09:00
folders[i].Id = f.Id
folders[i].Name = f.Name
}
response := c.NewEmpty()
response.MusicFolders = &responses.MusicFolders{Folders: folders}
c.SendResponse(response)
}