navidrome/wire_gen.go

100 lines
4.5 KiB
Go
Raw Normal View History

// Code generated by Wire. DO NOT EDIT.
//go:generate wire
//+build !wireinject
package main
import (
"github.com/cloudsonic/sonic-server/api"
"github.com/cloudsonic/sonic-server/engine"
"github.com/cloudsonic/sonic-server/itunesbridge"
2020-01-15 04:22:34 +01:00
"github.com/cloudsonic/sonic-server/model"
"github.com/cloudsonic/sonic-server/persistence"
2020-01-15 03:51:35 +01:00
"github.com/cloudsonic/sonic-server/scanner_legacy"
2020-01-13 23:06:47 +01:00
"github.com/cloudsonic/sonic-server/server"
"github.com/google/wire"
)
// Injectors from wire_injectors.go:
2020-01-13 23:06:47 +01:00
func CreateApp(musicFolder string) *server.Server {
2020-01-15 04:22:34 +01:00
repositories := createPersistenceProvider()
2020-01-15 14:54:00 +01:00
checksumRepository := repositories.CheckSumRepository
itunesScanner := scanner_legacy.NewItunesScanner(checksumRepository)
2020-01-15 04:22:34 +01:00
mediaFileRepository := repositories.MediaFileRepository
albumRepository := repositories.AlbumRepository
artistRepository := repositories.ArtistRepository
artistIndexRepository := repositories.ArtistIndexRepository
playlistRepository := repositories.PlaylistRepository
propertyRepository := repositories.PropertyRepository
2020-01-15 03:51:35 +01:00
importer := scanner_legacy.NewImporter(musicFolder, itunesScanner, mediaFileRepository, albumRepository, artistRepository, artistIndexRepository, playlistRepository, propertyRepository)
2020-01-13 23:06:47 +01:00
serverServer := server.New(importer)
return serverServer
2020-01-11 19:00:03 +01:00
}
func CreateSubsonicAPIRouter() *api.Router {
2020-01-15 04:22:34 +01:00
repositories := createPersistenceProvider()
propertyRepository := repositories.PropertyRepository
mediaFolderRepository := repositories.MediaFolderRepository
artistIndexRepository := repositories.ArtistIndexRepository
artistRepository := repositories.ArtistRepository
albumRepository := repositories.AlbumRepository
mediaFileRepository := repositories.MediaFileRepository
browser := engine.NewBrowser(propertyRepository, mediaFolderRepository, artistIndexRepository, artistRepository, albumRepository, mediaFileRepository)
cover := engine.NewCover(mediaFileRepository, albumRepository)
2020-01-15 04:22:34 +01:00
nowPlayingRepository := repositories.NowPlayingRepository
listGenerator := engine.NewListGenerator(albumRepository, mediaFileRepository, nowPlayingRepository)
itunesControl := itunesbridge.NewItunesControl()
2020-01-15 04:22:34 +01:00
playlistRepository := repositories.PlaylistRepository
playlists := engine.NewPlaylists(itunesControl, playlistRepository, mediaFileRepository)
ratings := engine.NewRatings(itunesControl, mediaFileRepository, albumRepository, artistRepository)
scrobbler := engine.NewScrobbler(itunesControl, mediaFileRepository, nowPlayingRepository)
search := engine.NewSearch(artistRepository, albumRepository, mediaFileRepository)
router := api.NewRouter(browser, cover, listGenerator, playlists, ratings, scrobbler, search)
return router
}
2020-01-15 04:22:34 +01:00
func createPersistenceProvider() *Repositories {
albumRepository := persistence.NewAlbumRepository()
artistRepository := persistence.NewArtistRepository()
2020-01-15 14:54:00 +01:00
checksumRepository := persistence.NewCheckSumRepository()
artistIndexRepository := persistence.NewArtistIndexRepository()
mediaFileRepository := persistence.NewMediaFileRepository()
2020-01-13 00:36:19 +01:00
mediaFolderRepository := persistence.NewMediaFolderRepository()
nowPlayingRepository := persistence.NewNowPlayingRepository()
playlistRepository := persistence.NewPlaylistRepository()
propertyRepository := persistence.NewPropertyRepository()
2020-01-15 04:22:34 +01:00
repositories := &Repositories{
2020-01-13 00:36:19 +01:00
AlbumRepository: albumRepository,
ArtistRepository: artistRepository,
2020-01-15 14:54:00 +01:00
CheckSumRepository: checksumRepository,
2020-01-13 00:36:19 +01:00
ArtistIndexRepository: artistIndexRepository,
MediaFileRepository: mediaFileRepository,
MediaFolderRepository: mediaFolderRepository,
NowPlayingRepository: nowPlayingRepository,
PlaylistRepository: playlistRepository,
PropertyRepository: propertyRepository,
}
2020-01-15 04:22:34 +01:00
return repositories
2020-01-13 00:36:19 +01:00
}
// wire_injectors.go:
2020-01-15 04:22:34 +01:00
type Repositories struct {
AlbumRepository model.AlbumRepository
ArtistRepository model.ArtistRepository
2020-01-15 14:54:00 +01:00
CheckSumRepository model.ChecksumRepository
2020-01-15 04:22:34 +01:00
ArtistIndexRepository model.ArtistIndexRepository
MediaFileRepository model.MediaFileRepository
MediaFolderRepository model.MediaFolderRepository
NowPlayingRepository model.NowPlayingRepository
PlaylistRepository model.PlaylistRepository
PropertyRepository model.PropertyRepository
}
2020-01-15 04:22:34 +01:00
var allProviders = wire.NewSet(itunesbridge.NewItunesControl, engine.Set, scanner_legacy.Set, api.NewRouter, wire.FieldsOf(new(*Repositories), "AlbumRepository", "ArtistRepository", "CheckSumRepository",
"ArtistIndexRepository", "MediaFileRepository", "MediaFolderRepository", "NowPlayingRepository",
"PlaylistRepository", "PropertyRepository"), createPersistenceProvider,
)