navidrome/conf/inject_definitions.go

26 lines
1.1 KiB
Go
Raw Normal View History

package conf
import (
2016-03-02 15:07:24 +01:00
"github.com/deluan/gosonic/domain"
"github.com/deluan/gosonic/engine"
2016-03-02 19:18:39 +01:00
"github.com/deluan/gosonic/persistence"
"github.com/deluan/gosonic/utils"
)
2016-03-02 19:18:39 +01:00
func init() {
// Persistence
2016-03-09 00:33:35 +01:00
utils.DefineSingleton(new(domain.ArtistIndexRepository), persistence.NewArtistIndexRepository)
utils.DefineSingleton(new(domain.MediaFolderRepository), persistence.NewMediaFolderRepository)
utils.DefineSingleton(new(domain.ArtistRepository), persistence.NewArtistRepository)
utils.DefineSingleton(new(domain.AlbumRepository), persistence.NewAlbumRepository)
utils.DefineSingleton(new(domain.MediaFileRepository), persistence.NewMediaFileRepository)
utils.DefineSingleton(new(domain.PlaylistRepository), persistence.NewPlaylistRepository)
// Engine (Use cases)
2016-03-09 00:40:16 +01:00
utils.DefineSingleton(new(engine.PropertyRepository), persistence.NewPropertyRepository)
2016-03-09 00:33:35 +01:00
utils.DefineSingleton(new(engine.Browser), engine.NewBrowser)
utils.DefineSingleton(new(engine.ListGenerator), engine.NewListGenerator)
utils.DefineSingleton(new(engine.Cover), engine.NewCover)
utils.DefineSingleton(new(engine.Playlists), engine.NewPlaylists)
}