Added better archive functionalty (backend side atm)
Code refactoring
This commit is contained in:
42
server/archive/provider.go
Normal file
42
server/archive/provider.go
Normal file
@@ -0,0 +1,42 @@
|
||||
package archive
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"sync"
|
||||
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/v3/server/archive/domain"
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/v3/server/archive/repository"
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/v3/server/archive/rest"
|
||||
"github.com/marcopeocchi/yt-dlp-web-ui/v3/server/archive/service"
|
||||
)
|
||||
|
||||
var (
|
||||
repo domain.Repository
|
||||
svc domain.Service
|
||||
hand domain.RestHandler
|
||||
|
||||
repoOnce sync.Once
|
||||
svcOnce sync.Once
|
||||
handOnce sync.Once
|
||||
)
|
||||
|
||||
func provideRepository(db *sql.DB) domain.Repository {
|
||||
repoOnce.Do(func() {
|
||||
repo = repository.New(db)
|
||||
})
|
||||
return repo
|
||||
}
|
||||
|
||||
func provideService(r domain.Repository) domain.Service {
|
||||
svcOnce.Do(func() {
|
||||
svc = service.New(r)
|
||||
})
|
||||
return svc
|
||||
}
|
||||
|
||||
func provideHandler(s domain.Service) domain.RestHandler {
|
||||
handOnce.Do(func() {
|
||||
hand = rest.New(s)
|
||||
})
|
||||
return hand
|
||||
}
|
||||
Reference in New Issue
Block a user