diff --git a/api/get_music_folders.go b/api/get_music_folders.go index 2eba5c18a..ee9e101f4 100644 --- a/api/get_music_folders.go +++ b/api/get_music_folders.go @@ -3,14 +3,22 @@ package api import ( "github.com/astaxie/beego" "github.com/deluan/gosonic/api/responses" - "github.com/deluan/gosonic/persistence" + "github.com/deluan/gosonic/domain" + "github.com/karlkfi/inject" + "github.com/deluan/gosonic/utils" ) -type GetMusicFoldersController struct{ beego.Controller } +type GetMusicFoldersController struct { + beego.Controller + repo domain.MediaFolderRepository +} + +func (c *GetMusicFoldersController) Prepare() { + inject.ExtractAssignable(utils.Graph, &c.repo) +} func (c *GetMusicFoldersController) Get() { - repository := persistence.NewMediaFolderRepository() - mediaFolderList, _ := repository.GetAll() + mediaFolderList, _ := c.repo.GetAll() folders := make([]responses.MusicFolder, len(mediaFolderList)) for i, f := range mediaFolderList { folders[i].Id = f.Id diff --git a/conf/inject_definitions.go b/conf/inject_definitions.go index 69fb97a2a..1caa28a4a 100644 --- a/conf/inject_definitions.go +++ b/conf/inject_definitions.go @@ -9,4 +9,5 @@ import ( func init () { utils.DefineSingleton(new(domain.ArtistIndexRepository), persistence.NewArtistIndexRepository) utils.DefineSingleton(new(domain.PropertyRepository), persistence.NewPropertyRepository) + utils.DefineSingleton(new(domain.MediaFolderRepository), persistence.NewMediaFolderRepository) }