From 77e3aa7620995435859d8639b37f5d29b433d733 Mon Sep 17 00:00:00 2001 From: Deluan Date: Wed, 2 Mar 2016 10:48:30 -0500 Subject: [PATCH] More DI --- api/get_music_folders.go | 16 ++++++++++++---- conf/inject_definitions.go | 1 + 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/api/get_music_folders.go b/api/get_music_folders.go index 2eba5c18..ee9e101f 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 69fb97a2..1caa28a4 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) }