summaryrefslogtreecommitdiff
path: root/internal/scanner/scanner.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-05-10 09:54:50 +0300
committerPaul Buetow <paul@buetow.org>2026-05-10 09:54:50 +0300
commit0af2b2bc97275b5b6168cb91dabfe30d89bd5d07 (patch)
tree6566fc510522cf4256f8a4b5dd1b755e5f59b910 /internal/scanner/scanner.go
parent1ccd9b0fafad95b25dd6c6b806cad4809cefafe1 (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.go4
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()
}