Started the big refactor to extract common logic from engine package (Subsonic only) to core package (more generic)

This commit is contained in:
Deluan
2020-07-10 12:45:58 -04:00
parent 5418a6b6b1
commit 5620c58a30
25 changed files with 118 additions and 52 deletions
+5 -4
View File
@@ -4,6 +4,7 @@ import (
"encoding/json"
"encoding/xml"
"fmt"
"github.com/deluan/navidrome/core"
"net/http"
"runtime"
@@ -22,22 +23,22 @@ type Handler = func(http.ResponseWriter, *http.Request) (*responses.Subsonic, er
type Router struct {
Browser engine.Browser
Cover engine.Cover
Cover core.Cover
ListGenerator engine.ListGenerator
Playlists engine.Playlists
Ratings engine.Ratings
Scrobbler engine.Scrobbler
Search engine.Search
Users engine.Users
Streamer engine.MediaStreamer
Streamer core.MediaStreamer
Players engine.Players
mux http.Handler
}
func New(browser engine.Browser, cover engine.Cover, listGenerator engine.ListGenerator, users engine.Users,
func New(browser engine.Browser, cover core.Cover, listGenerator engine.ListGenerator, users engine.Users,
playlists engine.Playlists, ratings engine.Ratings, scrobbler engine.Scrobbler, search engine.Search,
streamer engine.MediaStreamer, players engine.Players) *Router {
streamer core.MediaStreamer, players engine.Players) *Router {
r := &Router{Browser: browser, Cover: cover, ListGenerator: listGenerator, Playlists: playlists,
Ratings: ratings, Scrobbler: scrobbler, Search: search, Users: users, Streamer: streamer, Players: players}
r.mux = r.routes()
+3 -3
View File
@@ -1,11 +1,11 @@
package subsonic
import (
"github.com/deluan/navidrome/core"
"io"
"net/http"
"github.com/deluan/navidrome/consts"
"github.com/deluan/navidrome/engine"
"github.com/deluan/navidrome/log"
"github.com/deluan/navidrome/model"
"github.com/deluan/navidrome/resources"
@@ -14,10 +14,10 @@ import (
)
type MediaRetrievalController struct {
cover engine.Cover
cover core.Cover
}
func NewMediaRetrievalController(cover engine.Cover) *MediaRetrievalController {
func NewMediaRetrievalController(cover core.Cover) *MediaRetrievalController {
return &MediaRetrievalController{cover: cover}
}
+3 -3
View File
@@ -1,21 +1,21 @@
package subsonic
import (
"github.com/deluan/navidrome/core"
"io"
"net/http"
"strconv"
"github.com/deluan/navidrome/engine"
"github.com/deluan/navidrome/log"
"github.com/deluan/navidrome/server/subsonic/responses"
"github.com/deluan/navidrome/utils"
)
type StreamController struct {
streamer engine.MediaStreamer
streamer core.MediaStreamer
}
func NewStreamController(streamer engine.MediaStreamer) *StreamController {
func NewStreamController(streamer core.MediaStreamer) *StreamController {
return &StreamController{streamer: streamer}
}