15
server/rest/common.go
Normal file
15
server/rest/common.go
Normal file
@@ -0,0 +1,15 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"log/slog"
|
||||
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/server/internal"
|
||||
)
|
||||
|
||||
type ContainerArgs struct {
|
||||
DB *sql.DB
|
||||
MDB *internal.MemoryDB
|
||||
MQ *internal.MessageQueue
|
||||
Logger *slog.Logger
|
||||
}
|
||||
@@ -1,24 +1,21 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
|
||||
"github.com/go-chi/chi/v5"
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/server/config"
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/server/internal"
|
||||
middlewares "github.com/marcopeocchi/yt-dlp-web-ui/server/middleware"
|
||||
)
|
||||
|
||||
func Container(db *sql.DB, mdb *internal.MemoryDB, mq *internal.MessageQueue) *Handler {
|
||||
func Container(args *ContainerArgs) *Handler {
|
||||
var (
|
||||
service = ProvideService(db, mdb, mq)
|
||||
service = ProvideService(args)
|
||||
handler = ProvideHandler(service)
|
||||
)
|
||||
return handler
|
||||
}
|
||||
|
||||
func ApplyRouter(db *sql.DB, mdb *internal.MemoryDB, mq *internal.MessageQueue) func(chi.Router) {
|
||||
h := Container(db, mdb, mq)
|
||||
func ApplyRouter(args *ContainerArgs) func(chi.Router) {
|
||||
h := Container(args)
|
||||
|
||||
return func(r chi.Router) {
|
||||
if config.Instance().RequireAuth {
|
||||
|
||||
@@ -22,7 +22,7 @@ func (h *Handler) Exec() http.HandlerFunc {
|
||||
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
|
||||
req := internal.DownloadRequest{}
|
||||
var req internal.DownloadRequest
|
||||
|
||||
if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package rest
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"sync"
|
||||
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/server/internal"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -15,12 +12,13 @@ var (
|
||||
handlerOnce sync.Once
|
||||
)
|
||||
|
||||
func ProvideService(db *sql.DB, mdb *internal.MemoryDB, mq *internal.MessageQueue) *Service {
|
||||
func ProvideService(args *ContainerArgs) *Service {
|
||||
serviceOnce.Do(func() {
|
||||
service = &Service{
|
||||
mdb: mdb,
|
||||
db: db,
|
||||
mq: mq,
|
||||
mdb: args.MDB,
|
||||
db: args.DB,
|
||||
mq: args.MQ,
|
||||
logger: args.Logger,
|
||||
}
|
||||
})
|
||||
return service
|
||||
|
||||
Reference in New Issue
Block a user