diff options
| author | Paul Buetow <paul@buetow.org> | 2026-05-10 09:54:50 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-05-10 09:54:50 +0300 |
| commit | 0af2b2bc97275b5b6168cb91dabfe30d89bd5d07 (patch) | |
| tree | 6566fc510522cf4256f8a4b5dd1b755e5f59b910 /internal/scanner/scanner.go | |
| parent | 1ccd9b0fafad95b25dd6c6b806cad4809cefafe1 (diff) | |
refactor(service,scanner): return concrete types from constructors
Apply the Go best-practice convention 'accept interfaces, return concrete
types' across the service and scanner packages:
- NewBrowseService -> *browseService
- NewWriteService -> *writeService
- NewMediaStreamer -> *mediaStreamer
- NewFSScanner -> *FSScanner
- NewFSScannerWithLogger -> *FSScanner
- NewPodcastBrowseService -> *podcastBrowseService
- NewTagService -> *tagService
- NewShareService -> *shareService
- NewProgressService -> *progressService
- NewAdminService -> *adminService
- NewAdminServiceWithLogger -> *adminService
- NewAuthService -> *authService
- NewNoteService -> *noteService
- NewFavService -> *favService
- NewMediaService -> *mediaService
- NewMediaServiceWithPodcastBrowser -> *mediaService
Callers continue to work unchanged because Go allows assigning a concrete
type to an interface variable. All tests pass with -race -cover.
Diffstat (limited to 'internal/scanner/scanner.go')
| -rw-r--r-- | internal/scanner/scanner.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/internal/scanner/scanner.go b/internal/scanner/scanner.go index d1e50ba..15a4949 100644 --- a/internal/scanner/scanner.go +++ b/internal/scanner/scanner.go @@ -38,12 +38,12 @@ type FSScanner struct { } // NewFSScanner creates a filesystem scanner with injected dependencies. -func NewFSScanner(store repository.ScannerStore, prober probe.Prober, thumbGen thumb.Generator, clk clock.Clock, mediaRoot string) Scanner { +func NewFSScanner(store repository.ScannerStore, prober probe.Prober, thumbGen thumb.Generator, clk clock.Clock, mediaRoot string) *FSScanner { return NewFSScannerWithLogger(store, prober, thumbGen, clk, mediaRoot, slog.Default()) } // NewFSScannerWithLogger creates a filesystem scanner with an injected logger. -func NewFSScannerWithLogger(store repository.ScannerStore, prober probe.Prober, thumbGen thumb.Generator, clk clock.Clock, mediaRoot string, logger *slog.Logger) Scanner { +func NewFSScannerWithLogger(store repository.ScannerStore, prober probe.Prober, thumbGen thumb.Generator, clk clock.Clock, mediaRoot string, logger *slog.Logger) *FSScanner { if logger == nil { logger = slog.Default() } |
