From c68c54b0212ebc8d111b11c6edff82942c3a4463 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Mon, 4 May 2026 00:10:32 +0300 Subject: task 6: narrow service interfaces in Server and Middleware Split Server struct to accept narrow service interfaces instead of fat composites (MediaService, AdminService). Each handler now depends only on its specific slice (MediaBrowseService, MediaWriteService, etc.). Split Middleware to depend on a narrow UserStore interface instead of full repository.Store. Updated all constructors, call sites, and tests. Added negative tests for nil AdminService and ProgressService returning 501 Not Implemented. References task 6. --- cmd/mediaplayer/main.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'cmd/mediaplayer') diff --git a/cmd/mediaplayer/main.go b/cmd/mediaplayer/main.go index f560551..4ff8aa3 100644 --- a/cmd/mediaplayer/main.go +++ b/cmd/mediaplayer/main.go @@ -97,7 +97,15 @@ func runWithSignal(args []string, sigCh <-chan os.Signal) error { staticFS := http.Dir("web") remuxer := probe.NewFFRemuxer() - server := api.NewServerWithLogger(store, hasher, sm, cfg, mediaSvc, adminSvc, progressSvc, authSvc, staticFS, remuxer, logger) + server := api.NewServerWithLogger(store, hasher, sm, cfg, + mediaSvc, // MediaBrowseService + mediaSvc, // MediaWriteService + mediaSvc, // MediaShareService + mediaSvc, // MediaTagService + mediaSvc, // MediaFavoriteService + mediaSvc, // MediaNoteService + adminSvc, progressSvc, authSvc, staticFS, remuxer, logger, + ) gs := api.NewGracefulServer(server, cfg) -- cgit v1.2.3