navidrome/cmd/wire_gen.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

127 lines
4.1 KiB
Go
Raw Normal View History

2020-07-02 18:17:26 -04:00
// Code generated by Wire. DO NOT EDIT.
//go:generate go run github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
2020-07-02 18:17:26 -04:00
package cmd
import (
"github.com/google/wire"
"github.com/navidrome/navidrome/core"
"github.com/navidrome/navidrome/core/agents"
"github.com/navidrome/navidrome/core/agents/lastfm"
"github.com/navidrome/navidrome/core/agents/listenbrainz"
"github.com/navidrome/navidrome/core/artwork"
2022-12-20 12:25:47 -05:00
"github.com/navidrome/navidrome/core/ffmpeg"
2021-06-19 20:56:56 -04:00
"github.com/navidrome/navidrome/core/scrobbler"
"github.com/navidrome/navidrome/db"
2020-07-02 18:17:26 -04:00
"github.com/navidrome/navidrome/persistence"
"github.com/navidrome/navidrome/scanner"
"github.com/navidrome/navidrome/server"
"github.com/navidrome/navidrome/server/events"
2021-06-13 19:15:41 -04:00
"github.com/navidrome/navidrome/server/nativeapi"
2022-12-30 22:34:00 -05:00
"github.com/navidrome/navidrome/server/public"
2020-07-02 18:17:26 -04:00
"github.com/navidrome/navidrome/server/subsonic"
2021-06-19 20:56:56 -04:00
"sync"
2020-07-02 18:17:26 -04:00
)
// Injectors from wire_injectors.go:
func CreateServer(musicFolder string) *server.Server {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
serverServer := server.New(dataStore)
2020-07-02 18:17:26 -04:00
return serverServer
}
2021-06-13 19:15:41 -04:00
func CreateNativeAPIRouter() *nativeapi.Router {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
2021-06-21 18:41:11 -04:00
broker := events.GetBroker()
share := core.NewShare(dataStore)
2021-06-13 19:15:41 -04:00
router := nativeapi.New(dataStore, broker, share)
2020-07-02 18:17:26 -04:00
return router
}
func CreateSubsonicAPIRouter() *subsonic.Router {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
fileCache := artwork.GetImageCache()
2022-12-23 12:28:22 -05:00
fFmpeg := ffmpeg.New()
2023-01-13 14:30:26 -05:00
agentsAgents := agents.New(dataStore)
externalMetadata := core.NewExternalMetadata(dataStore, agentsAgents)
artworkArtwork := artwork.NewArtwork(dataStore, fileCache, fFmpeg, externalMetadata)
2020-10-27 17:02:20 -04:00
transcodingCache := core.GetTranscodingCache()
2022-12-23 12:28:22 -05:00
mediaStreamer := core.NewMediaStreamer(dataStore, fFmpeg, transcodingCache)
archiver := core.NewArchiver(mediaStreamer, dataStore)
2020-10-27 11:01:40 -04:00
players := core.NewPlayers(dataStore)
scanner := GetScanner()
2021-06-21 18:41:11 -04:00
broker := events.GetBroker()
2021-10-26 10:35:58 -04:00
playlists := core.NewPlaylists(dataStore)
playTracker := scrobbler.GetPlayTracker(dataStore, broker)
share := core.NewShare(dataStore)
router := subsonic.New(dataStore, artworkArtwork, mediaStreamer, archiver, players, externalMetadata, scanner, broker, playlists, playTracker, share)
return router
2020-07-02 18:17:26 -04:00
}
2022-12-30 22:34:00 -05:00
func CreatePublicRouter() *public.Router {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
fileCache := artwork.GetImageCache()
fFmpeg := ffmpeg.New()
2023-01-13 14:30:26 -05:00
agentsAgents := agents.New(dataStore)
externalMetadata := core.NewExternalMetadata(dataStore, agentsAgents)
artworkArtwork := artwork.NewArtwork(dataStore, fileCache, fFmpeg, externalMetadata)
2023-01-19 22:52:55 -05:00
transcodingCache := core.GetTranscodingCache()
mediaStreamer := core.NewMediaStreamer(dataStore, fFmpeg, transcodingCache)
share := core.NewShare(dataStore)
2023-01-20 19:53:53 -05:00
router := public.New(dataStore, artworkArtwork, mediaStreamer, share)
2022-12-30 22:34:00 -05:00
return router
}
func CreateLastFMRouter() *lastfm.Router {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
router := lastfm.NewRouter(dataStore)
return router
}
func CreateListenBrainzRouter() *listenbrainz.Router {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
router := listenbrainz.NewRouter(dataStore)
return router
}
func createScanner() scanner.Scanner {
sqlDB := db.Db()
dataStore := persistence.New(sqlDB)
playlists := core.NewPlaylists(dataStore)
fileCache := artwork.GetImageCache()
2022-12-23 12:28:22 -05:00
fFmpeg := ffmpeg.New()
2023-01-13 14:30:26 -05:00
agentsAgents := agents.New(dataStore)
externalMetadata := core.NewExternalMetadata(dataStore, agentsAgents)
artworkArtwork := artwork.NewArtwork(dataStore, fileCache, fFmpeg, externalMetadata)
cacheWarmer := artwork.NewCacheWarmer(artworkArtwork, fileCache)
2021-06-21 18:41:11 -04:00
broker := events.GetBroker()
2022-12-23 12:28:22 -05:00
scannerScanner := scanner.New(dataStore, playlists, cacheWarmer, broker)
return scannerScanner
}
2020-07-02 18:17:26 -04:00
// wire_injectors.go:
2023-01-20 19:53:53 -05:00
var allProviders = wire.NewSet(core.Set, artwork.Set, subsonic.New, nativeapi.New, public.New, persistence.New, lastfm.NewRouter, listenbrainz.NewRouter, events.GetBroker, db.Db)
// Scanner must be a Singleton
var (
onceScanner sync.Once
scannerInstance scanner.Scanner
)
func GetScanner() scanner.Scanner {
onceScanner.Do(func() {
scannerInstance = createScanner()
})
return scannerInstance
}