SQL/Orm MediaFileRepository complete

This commit is contained in:
Deluan
2020-01-12 18:36:19 -05:00
committed by Deluan Quintão
parent d70af2c39d
commit 56273dd4d9
6 changed files with 182 additions and 6 deletions
+27
View File
@@ -12,6 +12,7 @@ import (
"github.com/cloudsonic/sonic-server/itunesbridge"
"github.com/cloudsonic/sonic-server/persistence"
"github.com/cloudsonic/sonic-server/persistence/db_ledis"
"github.com/cloudsonic/sonic-server/persistence/db_sql"
"github.com/cloudsonic/sonic-server/persistence/db_storm"
"github.com/cloudsonic/sonic-server/scanner"
"github.com/deluan/gomate"
@@ -61,6 +62,30 @@ func CreateSubsonicAPIRouter(p persistence.ProviderIdentifier) *api.Router {
return router
}
func createSQLProvider() *Provider {
albumRepository := db_ledis.NewAlbumRepository()
artistRepository := db_sql.NewArtistRepository()
checkSumRepository := db_ledis.NewCheckSumRepository()
artistIndexRepository := db_ledis.NewArtistIndexRepository()
mediaFileRepository := db_sql.NewMediaFileRepository()
mediaFolderRepository := persistence.NewMediaFolderRepository()
nowPlayingRepository := persistence.NewNowPlayingRepository()
playlistRepository := db_ledis.NewPlaylistRepository()
propertyRepository := db_ledis.NewPropertyRepository()
provider := &Provider{
AlbumRepository: albumRepository,
ArtistRepository: artistRepository,
CheckSumRepository: checkSumRepository,
ArtistIndexRepository: artistIndexRepository,
MediaFileRepository: mediaFileRepository,
MediaFolderRepository: mediaFolderRepository,
NowPlayingRepository: nowPlayingRepository,
PlaylistRepository: playlistRepository,
PropertyRepository: propertyRepository,
}
return provider
}
func createLedisDBProvider() *Provider {
albumRepository := db_ledis.NewAlbumRepository()
artistRepository := db_ledis.NewArtistRepository()
@@ -130,6 +155,8 @@ var allProviders = wire.NewSet(itunesbridge.NewItunesControl, engine.Set, scanne
func createPersistenceProvider(provider persistence.ProviderIdentifier) *Provider {
switch provider {
case "sql":
return createSQLProvider()
case "storm":
return createStormProvider()
default: