quintodrome/api/get_music_folders.go

30 lines
722 B
Go
Raw Normal View History

package api
import (
"github.com/deluan/gosonic/api/responses"
2016-03-02 06:48:30 -09:00
"github.com/deluan/gosonic/domain"
"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
2016-03-02 06:48:30 -09:00
repo domain.MediaFolderRepository
}
func (c *GetMusicFoldersController) Prepare() {
inject.ExtractAssignable(utils.Graph, &c.repo)
}
2016-02-25 14:47:25 -09:00
func (c *GetMusicFoldersController) Get() {
2016-03-02 06:48:30 -09:00
mediaFolderList, _ := c.repo.GetAll()
2016-02-24 15:14:48 -09:00
folders := make([]responses.MusicFolder, len(mediaFolderList))
2016-02-24 15:29:53 -09:00
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)
}