From 0af2b2bc97275b5b6168cb91dabfe30d89bd5d07 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 10 May 2026 09:54:50 +0300 Subject: 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. --- internal/service/progress.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'internal/service/progress.go') diff --git a/internal/service/progress.go b/internal/service/progress.go index 376ebb7..ef248cf 100644 --- a/internal/service/progress.go +++ b/internal/service/progress.go @@ -17,7 +17,7 @@ type progressService struct { } // NewProgressService creates a concrete ProgressService. -func NewProgressService(store repository.ProgressServiceStore, clk clock.Clock) ProgressService { +func NewProgressService(store repository.ProgressServiceStore, clk clock.Clock) *progressService { return &progressService{ store: store, clock: clk, -- cgit v1.2.3